+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contact/index.html b/contact/index.html
new file mode 100644
index 0000000..7a05095
--- /dev/null
+++ b/contact/index.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/a11y-dark.min.css b/css/a11y-dark.min.css
new file mode 100644
index 0000000..4901d07
--- /dev/null
+++ b/css/a11y-dark.min.css
@@ -0,0 +1,89 @@
+pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
+ Theme: a11y-dark
+ Author: @ericwbailey
+ Maintainer: @ericwbailey
+
+ Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
+/*
+
+Style with support for rainbow parens
+
+*/
+
+.hljs {
+ background: #474949;
+ color: #d1d9e1;
+}
+
+
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-type,
+.hljs-addition {
+ color: #cc99cc;
+}
+
+.hljs-number,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #f99157;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-regexp {
+ color: #8abeb7;
+}
+
+.hljs-title,
+.hljs-name,
+.hljs-section,
+.hljs-built_in {
+ color: #b5bd68;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-title.class_,
+.hljs-class .hljs-title {
+ color: #ffcc66;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-link {
+ color: #f99157;
+}
+
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #eee8d5;
+}
+
+.hljs-attr,
+.hljs-attribute {
+ color: #81a2be;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
\ No newline at end of file
diff --git a/css/fonts.css b/css/fonts.css
new file mode 100644
index 0000000..89054d4
--- /dev/null
+++ b/css/fonts.css
@@ -0,0 +1,30 @@
+
+@font-face
+{
+ font-family: "notoserifsc-medium";
+ font-style: normal;
+ font-weight: 600;
+ src: local(""),
+ url("../fonts/notoserifsc-medium-webfont.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */
+ url("../fonts/notoserifsc-medium-webfont.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ ;
+}
+
+@font-face {
+ font-family: "LXGW WenKai";
+ font-style: normal;
+ font-weight: 600;
+ src: local("../fonts/LXGWWenKaiLite-Regular.woff2"),
+ url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKaiLite-Regular.woff2") format("woff2"),
+ url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKaiMono-Regular.woff2") format("woff2"),
+ url("../fonts/LXGWWenKaiLite-Regular.woff2") format("woff2"),
+ url("../fonts/LXGWWenKaiMono-Regular.woff2") format("woff2");
+}
+
+@font-face {
+ font-family: "LXGW WenKai bold";
+ font-style: normal;
+ font-weight: 700;
+ src: local(""),
+ url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKai-Bold.woff2") format("woff2");
+}
diff --git a/css/highlight/highlight.css b/css/highlight/highlight.css
new file mode 100644
index 0000000..b41c973
--- /dev/null
+++ b/css/highlight/highlight.css
@@ -0,0 +1,177 @@
+.post-md pre,
+.post-md .highlight {
+ background: #2d2d2d;
+ padding: 15px article-padding;
+ border-style: solid;
+ border-color: color-border;
+ border-width: 1px 0;
+ overflow: auto;
+ color: #ccc;
+ line-height: 20.480000000000004px;
+}
+.post-md .highlight .gutter pre,
+.post-md .gist .gist-file .gist-data .line-numbers {
+ color: #666;
+ font-size: 0.85em;
+}
+.post-md pre,
+.post-md code {
+ font-family: font-mono;
+}
+.post-md code {
+ background: color-background;
+ padding: 0 0.3em;
+}
+.post-md pre code {
+ background: none;
+ text-shadow: none;
+ padding: 0;
+}
+.post-md .highlight {
+ font-size: 14.8px;
+}
+.post-md .highlight pre {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+.post-md .highlight table {
+ margin: 0;
+ width: auto;
+ padding: 0px 0 !important;
+ border-bottom: none !important;
+ background: none !important;
+}
+.post-md .highlight td {
+ border: none;
+ padding: 0;
+ padding: 0px 0 !important;
+ border-bottom: none !important;
+ background: none !important;
+}
+.post-md .highlight figcaption {
+ font-size: 0.85em;
+ color: #999;
+ line-height: 1em;
+ margin-bottom: 1em;
+}
+.post-md .highlight figcaption a {
+ float: right;
+}
+.post-md .highlight .gutter {
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.post-md .highlight .gutter pre {
+ text-align: right;
+ padding-right: 20px;
+}
+.post-md .highlight .line {
+ height: 20.480000000000004px;
+}
+.post-md .highlight .line.marked {
+ background: #515151;
+}
+.post-md .gist {
+ border-style: solid;
+ border-color: color-border;
+ border-width: 1px 0;
+ background: #2d2d2d;
+ padding: 15px article-padding 15px 0;
+}
+.post-md .gist .gist-file {
+ border: none;
+ font-family: font-mono;
+ margin: 0;
+}
+.post-md .gist .gist-file .gist-data {
+ background: none;
+ border: none;
+}
+.post-md .gist .gist-file .gist-data .line-numbers {
+ background: none;
+ border: none;
+ padding: 0 20px 0 0;
+}
+.post-md .gist .gist-file .gist-data .line-data {
+ padding: 0 !important;
+}
+.post-md .gist .gist-file .highlight {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+.post-md .gist .gist-file .gist-meta {
+ background: #2d2d2d;
+ color: #999;
+ font: 0.85em font-sans;
+ text-shadow: 0 0;
+ padding: 0;
+ margin-top: 1em;
+ margin-left: article-padding;
+}
+.post-md .gist .gist-file .gist-meta a {
+ color: color-link;
+ font-weight: normal;
+}
+.post-md .gist .gist-file .gist-meta a:hover {
+ text-decoration: underline;
+}
+pre .comment,
+pre .title {
+ color: #999;
+}
+pre .variable,
+pre .attribute,
+pre .tag,
+pre .regexp,
+pre .ruby .constant,
+pre .xml .tag .title,
+pre .xml .pi,
+pre .xml .doctype,
+pre .html .doctype,
+pre .css .id,
+pre .css .class,
+pre .css .pseudo {
+ color: #f2777a;
+}
+pre .number,
+pre .preprocessor,
+pre .built_in,
+pre .literal,
+pre .params,
+pre .constant {
+ color: #f99157;
+}
+pre .class,
+pre .ruby .class .title,
+pre .css .rules .attribute {
+ color: #9c9;
+}
+pre .string,
+pre .value,
+pre .inheritance,
+pre .header,
+pre .ruby .symbol,
+pre .xml .cdata {
+ color: #9c9;
+}
+pre .css .hexcolor {
+ color: #6cc;
+}
+pre .function,
+pre .python .decorator,
+pre .python .title,
+pre .ruby .function .title,
+pre .ruby .title .keyword,
+pre .perl .sub,
+pre .javascript .title,
+pre .coffeescript .title {
+ color: #69c;
+}
+pre .keyword,
+pre .javascript .function {
+ color: #c9c;
+}
diff --git a/css/highlight/style1.css b/css/highlight/style1.css
new file mode 100644
index 0000000..6fc2f8f
--- /dev/null
+++ b/css/highlight/style1.css
@@ -0,0 +1,188 @@
+.post-md pre,
+.post-md .highlight {
+ background: #2d2d2d;
+ padding: 15px 20px;
+ border-style: solid;
+ border-color: #ddd;
+ border-width: 1px 0;
+ overflow: auto;
+ color: #ccc;
+ line-height: 20.480000000000004px;
+}
+.post-md .highlight .gutter pre,
+.post-md .gist .gist-file .gist-data .line-numbers {
+ color: #666;
+ font-size: 0.85em;
+}
+.post-md pre,
+.post-md code {
+ font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace, sans-serif, "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei";
+}
+.post-md code {
+ background: #eee;
+ padding: 0 0.3em;
+}
+.post-md pre code {
+ background: none;
+ text-shadow: none;
+ padding: 0;
+}
+.post-md .highlight {
+ font-size: 14.8px;
+}
+.post-md .highlight pre {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+.post-md .highlight table {
+ margin: 0;
+ width: auto;
+ padding: 0px 0 !important;
+ border-bottom: none !important;
+ background: none !important;
+}
+.post-md .highlight td {
+ border: none;
+ padding: 0;
+ padding: 0px 0 !important;
+ border-bottom: none !important;
+ background: none !important;
+}
+.post-md .highlight figcaption {
+ font-size: 0.85em;
+ color: #999;
+ line-height: 1em;
+ margin-bottom: 1em;
+}
+.post-md .highlight figcaption:before,
+.post-md .highlight figcaption:after {
+ content: "";
+ display: table;
+}
+.post-md .highlight figcaption:after {
+ clear: both;
+}
+.post-md .highlight figcaption a {
+ float: right;
+}
+.post-md .highlight .gutter {
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -webkit-user-select: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.post-md .highlight .gutter pre {
+ text-align: right;
+ padding-right: 20px;
+}
+.post-md .highlight .line {
+ height: 20.480000000000004px;
+}
+.post-md .highlight .line.marked {
+ background: #515151;
+}
+.post-md .gist {
+ border-style: solid;
+ border-color: #ddd;
+ border-width: 1px 0;
+ background: #2d2d2d;
+ padding: 15px 20px 15px 0;
+}
+.post-md .gist .gist-file {
+ border: none;
+ font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace, sans-serif, "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei";
+ margin: 0;
+}
+.post-md .gist .gist-file .gist-data {
+ background: none;
+ border: none;
+}
+.post-md .gist .gist-file .gist-data .line-numbers {
+ background: none;
+ border: none;
+ padding: 0 20px 0 0;
+}
+.post-md .gist .gist-file .gist-data .line-data {
+ padding: 0 !important;
+}
+.post-md .gist .gist-file .highlight {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+.post-md .gist .gist-file .gist-meta {
+ background: #2d2d2d;
+ color: #999;
+ font: 0.85em font-sans;
+ text-shadow: 0 0;
+ padding: 0;
+ margin-top: 1em;
+ margin-left: 20px;
+}
+.post-md .gist .gist-file .gist-meta a {
+ color: #258fb8;
+ font-weight: normal;
+}
+.post-md .gist .gist-file .gist-meta a:hover {
+ text-decoration: underline;
+}
+pre .comment,
+pre .title {
+ color: #999;
+}
+pre .variable,
+pre .attribute,
+pre .tag,
+pre .regexp,
+pre .ruby .constant,
+pre .xml .tag .title,
+pre .xml .pi,
+pre .xml .doctype,
+pre .html .doctype,
+pre .css .id,
+pre .css .class,
+pre .css .pseudo {
+ color: #f2777a;
+}
+pre .number,
+pre .preprocessor,
+pre .built_in,
+pre .literal,
+pre .params,
+pre .constant {
+ color: #f99157;
+}
+pre .class,
+pre .ruby .class .title,
+pre .css .rules .attribute {
+ color: #9c9;
+}
+pre .string,
+pre .value,
+pre .inheritance,
+pre .header,
+pre .ruby .symbol,
+pre .xml .cdata {
+ color: #9c9;
+}
+pre .css .hexcolor {
+ color: #6cc;
+}
+pre .function,
+pre .python .decorator,
+pre .python .title,
+pre .ruby .function .title,
+pre .ruby .title .keyword,
+pre .perl .sub,
+pre .javascript .title,
+pre .coffeescript .title {
+ color: #69c;
+}
+pre .keyword,
+pre .javascript .function {
+ color: #c9c;
+}
diff --git a/css/lightgallery.min.css b/css/lightgallery.min.css
new file mode 100644
index 0000000..104d68f
--- /dev/null
+++ b/css/lightgallery.min.css
@@ -0,0 +1 @@
+@font-face{font-family:lg;src:url(../fonts/lg.ttf?22t19m) format("truetype"),url(../fonts/lg.woff?22t19m) format("woff"),url(../fonts/lg.svg?22t19m#lg) format("svg");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-actions .lg-next,.lg-actions .lg-prev{border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none;background-color:transparent}.lg-actions .lg-next.disabled,.lg-actions .lg-prev.disabled{pointer-events:none;opacity:.5}.lg-actions .lg-next:hover,.lg-actions .lg-prev:hover{color:#FFF}.lg-actions .lg-next{right:20px}.lg-actions .lg-next:before{content:"\e095"}.lg-actions .lg-prev{left:20px}.lg-actions .lg-prev:after{content:"\e094"}@-webkit-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-moz-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-ms-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-webkit-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-moz-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-ms-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.45)}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:0;background:0 0;border:none;box-shadow:none;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-toolbar .lg-icon:hover{color:#FFF}.lg-toolbar .lg-close:after{content:"\e070"}.lg-toolbar .lg-download:after{content:"\e0f2"}.lg-sub-html{background-color:rgba(0,0,0,.45);bottom:0;color:#EEE;font-size:16px;left:0;padding:10px 40px;position:fixed;right:0;text-align:center;z-index:1080}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}#lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;vertical-align:middle}.lg-next,.lg-prev,.lg-toolbar{opacity:1;-webkit-transition:-webkit-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-moz-transition:-moz-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-o-transition:-o-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;transition:transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear}.lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0;-webkit-transition:-webkit-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;transition:transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-outer .lg-thumb-outer{background-color:#0D0A0A;bottom:0;position:absolute;width:100%;z-index:1080;max-height:350px;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-thumb-open .lg-thumb-outer{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-thumb{padding:10px 0;height:100%;margin-bottom:-5px}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border:2px solid #FFF;border-radius:4px;margin-bottom:5px}@media (min-width:1025px){.lg-outer .lg-thumb-item{-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover}.lg-outer.lg-has-thumb .lg-item{padding-bottom:120px}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer.lg-pull-caption-up .lg-sub-html{-webkit-transition:bottom .25s ease;-o-transition:bottom .25s ease;transition:bottom .25s ease}.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html{bottom:100px}.lg-outer .lg-toggle-thumb{background-color:#0D0A0A;border-radius:2px 2px 0 0;color:#999;cursor:pointer;font-size:24px;height:39px;line-height:27px;padding:5px 0;position:absolute;right:20px;text-align:center;top:-39px;width:50px;outline:0;border:none}.lg-outer .lg-toggle-thumb:after{content:"\e1ff"}.lg-outer .lg-toggle-thumb:hover{color:#FFF}.lg-outer .lg-video-cont{display:inline-block;vertical-align:middle;max-width:1140px;max-height:100%;width:100%;padding:0 5px}.lg-outer .lg-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}.lg-outer .lg-video .lg-object{display:inline-block;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.lg-outer .lg-video .lg-video-play{width:84px;height:59px;position:absolute;left:50%;top:50%;margin-left:-42px;margin-top:-30px;z-index:1080;cursor:pointer}.lg-outer .lg-has-vimeo .lg-video-play{background:url(../img/vimeo-play.png) no-repeat}.lg-outer .lg-has-vimeo:hover .lg-video-play{background:url(../img/vimeo-play.png) 0 -58px no-repeat}.lg-outer .lg-has-html5 .lg-video-play{background:url(../img/video-play.png) no-repeat;height:64px;margin-left:-32px;margin-top:-32px;width:64px;opacity:.8}.lg-outer .lg-has-html5:hover .lg-video-play{opacity:1}.lg-outer .lg-has-youtube .lg-video-play{background:url(../img/youtube-play.png) no-repeat}.lg-outer .lg-has-youtube:hover .lg-video-play{background:url(../img/youtube-play.png) 0 -60px no-repeat}.lg-outer .lg-video-object{width:100%!important;height:100%!important;position:absolute;top:0;left:0}.lg-outer .lg-has-video .lg-video-object{visibility:hidden}.lg-outer .lg-has-video.lg-video-playing .lg-object,.lg-outer .lg-has-video.lg-video-playing .lg-video-play{display:none}.lg-outer .lg-has-video.lg-video-playing .lg-video-object{visibility:visible}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;-webkit-transition:opacity 80ms ease 0s;-moz-transition:opacity 80ms ease 0s;-o-transition:opacity 80ms ease 0s;transition:opacity 80ms ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s;transition-duration:0s}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s;transition:transform .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;transition:transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}#lg-zoom-in:after{content:"\e311"}#lg-actual-size{font-size:20px}#lg-actual-size:after{content:"\e033"}#lg-zoom-out{opacity:.5;pointer-events:none}#lg-zoom-out:after{content:"\e312"}.lg-zoomed #lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer .lg-pager-outer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1080;height:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:0 0 0 2px #fff inset}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#FFF;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7) inset;display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:0 0 0 8px #fff inset}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer #lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active #lg-dropdown-overlay,.lg-outer.lg-dropdown-active .lg-dropdown{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active #lg-share{color:#FFF}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#FFF;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover .lg-icon,.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer,.lg-outer .lg,.lg-outer .lg-inner{height:100%;width:100%}.lg-outer #lg-share{position:relative}.lg-outer #lg-share:after{content:"\e80d"}.lg-outer #lg-share-facebook .lg-icon{color:#3b5998}.lg-outer #lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer #lg-share-twitter .lg-icon{color:#00aced}.lg-outer #lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer #lg-share-googleplus .lg-icon{color:#dd4b39}.lg-outer #lg-share-googleplus .lg-icon:after{content:"\e905"}.lg-outer #lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer #lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-outer .lg-img-rotate{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .3s cubic-bezier(.32,0,.67,0) 0s;-moz-transition:-moz-transform .3s cubic-bezier(.32,0,.67,0) 0s;-o-transition:-o-transform .3s cubic-bezier(.32,0,.67,0) 0s;transition:transform .3s cubic-bezier(.32,0,.67,0) 0s}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-hor:after{content:"\e902"}.lg-flip-ver:after{content:"\e903"}.lg-group:after,.lg-group:before{display:table;content:"";line-height:0}.lg-group:after{clear:both}.lg-outer{position:fixed;top:0;left:0;z-index:1050;opacity:0;outline:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item.lg-current,.lg-outer.lg-css3 .lg-item.lg-next-slide,.lg-outer.lg-css3 .lg-item.lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg{position:relative;overflow:hidden;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}.lg-outer .lg-inner{position:absolute;left:0;top:0;white-space:nowrap}.lg-outer .lg-item{background:url(../img/loading.gif) center center no-repeat;display:none!important}.lg-outer.lg-css .lg-current,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}.lg-outer .lg-img-wrap{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-image{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.lg-outer.lg-show-after-load .lg-item .lg-object,.lg-outer.lg-show-after-load .lg-item .lg-video-play{opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play{opacity:1}.lg-outer .lg-empty-html,.lg-outer.lg-hide-download #lg-download{display:none}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item,.lg-css3.lg-use-left .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-left .lg-item{opacity:0;position:absolute;left:0}.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{left:-100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide{left:100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current{left:0;opacity:1}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{-webkit-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}
\ No newline at end of file
diff --git a/css/markdown.css b/css/markdown.css
new file mode 100644
index 0000000..8aed5a3
--- /dev/null
+++ b/css/markdown.css
@@ -0,0 +1,169 @@
+@charset "utf-8";
+
+.post-md
+{
+ width: 100%;
+ font-size: 16.8px;
+ letter-spacing: 0;
+}
+
+.post-md h1,
+.post-md h2,
+.post-md h3,
+.post-md h4,
+.post-md h5,
+.post-md h6
+{
+ color: var(--font-color-1);
+ margin: 12px 0;
+}
+.post-md h1
+{
+ font-size: 2.5rem;
+ line-height: 1.2;
+ padding: 24px 0;
+}
+.post-md h2
+{
+ font-size: 2rem;
+ line-height: 1.2;
+ padding: 20px 0;
+}
+.post-md h3
+{
+ font-size: 1.75rem;
+ line-height: 1.2;
+ padding: 18px 0;
+}
+.post-md h4
+{
+ font-size: 1.5rem;
+ line-height: 1.2;
+ padding: 16px 0;
+}
+.post-md h5
+{
+ font-size: 1.25rem;
+ line-height: 1.2;
+ padding: 14px 0;
+}
+.post-md h6
+{
+ font-size: 1.125rem;
+ line-height: 1.2;
+ padding: 12px 0;
+}
+.post-md a
+{
+ color: var(--font-color-2);
+ box-shadow: 0 2px 0 var(--line-1);
+ /* transition: color ease-in-out .65s, box-shadow ease-in-out .65s; */
+}
+.post-md a:hover
+{
+ color: var(--font-color-0);
+ box-shadow: 0 2px 0 var(--font-color-0);
+ /* transition: color ease-in-out .65s, box-shadow ease-in-out .65s; */
+}
+.post-md strong
+{
+ font-weight: 700;
+ font-family: LXGW WenKai bold;
+}
+.post-md em
+{
+ font-style: italic;
+
+}
+.post-md kbd
+{
+ padding: 2px 4px;
+ border-radius: 2px;
+ background: #eee;
+ border: 1px solid #ddd;
+}
+.post-md ol
+{
+ list-style: decimal;
+ padding-left: 24px;
+}
+.post-md ul
+{
+ list-style: disc;
+ padding-left: 24px;
+}
+.post-md img
+{
+ border-radius: 4px;
+}
+.post-md hr
+{
+ border: none;
+ height: 1px;
+ background: var(--line-1);
+ margin: 24px 0;
+}
+
+.post-md p,
+.post-md blockquote
+{
+ width: 100%;
+ margin: 12px 0;
+}
+.post-md blockquote
+{
+ border-left: 2px solid var(--line-2);
+ padding-left: 12px;
+ word-wrap: break-word;
+}
+
+.post-md .video-container
+{
+ background: #000;
+ border-radius: 4px;
+ overflow: hidden;
+}
+.post-md iframe,
+.post-md .video-container iframe
+{
+ width: 100%;
+}
+
+.post-md table
+{
+ width: 100%;
+ text-align: left;
+ border-spacing: 0;
+}
+.post-md table th
+{
+ padding: 12px 0;
+ border-bottom: 2px solid var(--line-1);
+}
+.post-md table tr:nth-child(odd) td
+{
+ padding: 12px 0;
+ border-bottom: 1px solid var(--line-1);
+ background: #fafafa;
+}
+.post-md table tr:nth-child(even) td
+{
+ padding: 12px 0;
+ border-bottom: 1px solid var(--line-1);
+ background: #fff;
+}
+
+.post-md code
+{
+ border-radius: 4px;
+ background: #e4e4e4;
+ padding: 2px 4px;
+ color: #2d2d2d;
+ font-size: 1rem;
+}
+
+.post-md .hljs-ln-numbers
+{
+ opacity: .5;
+ padding-right: 12px;
+}
diff --git a/css/reset.css b/css/reset.css
new file mode 100644
index 0000000..fd770ce
--- /dev/null
+++ b/css/reset.css
@@ -0,0 +1,70 @@
+@charset "utf-8";
+
+*,
+*::before,
+*::after
+{
+ box-sizing: border-box;
+}
+
+body,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+figure,
+blockquote,
+dl,
+dd
+{
+ margin: 0;
+}
+
+ul,
+ol
+{
+ list-style: none;
+}
+
+ul
+{
+ padding-inline-start: 0;
+}
+
+html,
+body
+{
+ scroll-behavior: auto;
+}
+
+a:not([class])
+{
+ text-decoration-skip-ink: auto;
+}
+
+img,
+picture
+{
+ /* width: auto; */
+ max-width: 100%;
+ display: block;
+}
+
+input,
+button,
+textarea,
+select
+{
+ font: inherit;
+}
+
+@media (prefers-reduced-motion: reduce)
+{
+ html:focus-within
+ {
+ scroll-behavior: auto;
+ }
+}
\ No newline at end of file
diff --git a/css/returnToLastPage.css b/css/returnToLastPage.css
new file mode 100644
index 0000000..2ef9eda
--- /dev/null
+++ b/css/returnToLastPage.css
@@ -0,0 +1,92 @@
+/* Please ❤ this if you like it! */
+
+/* #Progress
+================================================== */
+
+.return-to-last-progress-wrap {
+ position: fixed;
+ right: 50px;
+ bottom: 100px;
+ height: 45px;
+ width: 45px;
+ cursor: pointer;
+ display: block;
+ border-radius: 50px;
+ box-shadow: inset 0 0 0 2px rgba(245, 245, 245, 0.2);
+ z-index: 10000;
+ opacity: 0;
+ visibility: hidden;
+ transform: translateY(15px);
+ /* -webkit-transition: all 0ms linear; */
+ /* transition: all 0ms linear; */
+}
+.return-to-last-progress-wrap.active-progress {
+ opacity: 1;
+ visibility: visible;
+ transform: translateY(0);
+}
+.return-to-last-progress-wrap::after {
+ position: absolute;
+ font-family: 'unicons';
+ content: '\e843';
+ text-align: center;
+ line-height: 46px;
+ font-size: 24px;
+ color: #4f7dde; /* 箭头的颜色 */
+ left: 0;
+ top: 0;
+ height: 46px;
+ width: 46px;
+ cursor: pointer;
+ display: block;
+ z-index: 1;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+.return-to-last-progress-wrap:hover::after {
+ opacity: 0;
+}
+.return-to-last-progress-wrap::before {
+ position: absolute;
+ font-family: 'unicons';
+ content: '\e843';
+ text-align: center;
+ line-height: 46px;
+ font-size: 24px;
+ opacity: 0;
+ background-image: linear-gradient(298deg, #4f7dde, #4f7dde); /* 鼠标滑过的箭头颜色 */
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ left: 0;
+ top: 0;
+ height: 45px;
+ width: 45px;
+ cursor: pointer;
+ display: block;
+ z-index: 2;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+.return-to-last-progress-wrap:hover::before {
+ opacity: 1;
+}
+.return-to-last-progress-wrap svg path {
+ fill: none;
+}
+.return-to-last-progress-wrapp svg.progress-circle path {
+ stroke: #4f7dde; /* 边框的颜色 */
+ stroke-width: 4;
+ box-sizing:border-box;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+body.light .return-to-last-progress-wrap {
+ box-shadow: inset 0 0 0 2px rgba(0,0,0,0.2);
+}
+body.light .return-to-last-progress-wrap::after {
+ color: black;
+}
+body.light .return-to-last-progress-wrap svg.progress-circle path {
+ stroke: rgb(0, 0, 0);
+}
+
diff --git a/css/returnToTop.css b/css/returnToTop.css
new file mode 100644
index 0000000..2bfcedd
--- /dev/null
+++ b/css/returnToTop.css
@@ -0,0 +1,91 @@
+/* Please ❤ this if you like it! */
+
+/* #Progress
+================================================== */
+
+.progress-wrap {
+ position: fixed;
+ right: 50px;
+ bottom: 45px;
+ height: 45px;
+ width: 45px;
+ cursor: pointer;
+ display: block;
+ border-radius: 50px;
+ box-shadow: inset 0 0 0 2px rgba(245, 245, 245, 0.2);
+ z-index: 10000;
+ opacity: 0;
+ visibility: hidden;
+ transform: translateY(15px);
+ /* -webkit-transition: all 0ms linear; */
+ /* transition: all 0ms linear; */
+}
+.progress-wrap.active-progress {
+ opacity: 1;
+ visibility: visible;
+ transform: translateY(0);
+}
+.progress-wrap::after {
+ position: absolute;
+ font-family: 'unicons';
+ content: '\e84b';
+ text-align: center;
+ line-height: 46px;
+ font-size: 24px;
+ color: #4f7dde; /* 箭头的颜色 */
+ left: 0;
+ top: 0;
+ height: 46px;
+ width: 46px;
+ cursor: pointer;
+ display: block;
+ z-index: 1;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+.progress-wrap:hover::after {
+ opacity: 0;
+}
+.progress-wrap::before {
+ position: absolute;
+ font-family: 'unicons';
+ content: '\e84b';
+ text-align: center;
+ line-height: 46px;
+ font-size: 24px;
+ opacity: 0;
+ background-image: linear-gradient(298deg, #4f7dde, #4f7dde); /* 鼠标滑过的箭头颜色 */
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ left: 0;
+ top: 0;
+ height: 45px;
+ width: 45px;
+ cursor: pointer;
+ display: block;
+ z-index: 2;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+.progress-wrap:hover::before {
+ opacity: 1;
+}
+.progress-wrap svg path {
+ fill: none;
+}
+.progress-wrap svg.progress-circle path {
+ stroke: #4f7dde; /* 边框的颜色 */
+ stroke-width: 4;
+ box-sizing:border-box;
+ /* -webkit-transition: all 200ms linear; */
+ /* transition: all 200ms linear; */
+}
+body.light .progress-wrap {
+ box-shadow: inset 0 0 0 2px rgba(0,0,0,0.2);
+}
+body.light .progress-wrap::after {
+ color: black;
+}
+body.light .progress-wrap svg.progress-circle path {
+ stroke: rgb(0, 0, 0);
+}
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..63981f5
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,687 @@
+@charset "utf-8";
+
+:root
+{
+ --font-color-0: #04077e;
+ --font-color-1: #000;
+ --font-color-2: #666;
+ --font-color-3: #aaa;
+ --bg-color-1: #eee;
+ --line-1: #ccc;
+ --line-2: #ddd;
+}
+p
+{
+ word-wrap: break-word;
+ white-space: pre-wrap;
+}
+
+body
+{
+ font-family: "Times New Roman", Helvetica, Tahoma, Arial, "LXGW WenKai", "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
+ font-size: 16.8px;
+ line-height: 1.7;
+ /* letter-spacing: 0.6px; */
+ color: var(--font-color-1);
+ background: #e4e4e4;
+ height: 100%;
+}
+
+
+
+a
+{
+ text-decoration: none;
+ color: #4f7dde;
+}
+
+.paper
+{
+ padding: 4vw;
+ background: #e4e4e4;
+}
+.paper-main
+{
+ width: 100%;
+ max-width: 880px;
+ margin: 0 auto;
+ padding: 36px 4vw 0px; /*上 宽 第*/
+ background: #fff;
+ /*border-radius: 24px;*/
+ border-radius: 0px;
+ background: #ffffff;
+ /* box-shadow: 0px 5px 13px #616161, -5px -5px 13px #ffffff; */
+}
+.index-main
+{
+ width: 100%;
+ max-width: 580px;
+ margin: 0 auto;
+ padding: 36px 4.5vw 0px;
+ border-radius: 0px;
+ background: #ffffff;
+ /* box-shadow: 0px 5px 13px #616161, -5px -5px 13px #ffffff; */
+}
+
+.index-header-line
+{
+ margin-top: -28px;
+ /* margin-bottom: 18px; */
+ /* border-bottom: 1px solid var(--line-1); */
+ font-size: 0.6rem;
+ color: var(--font-color-3);
+ text-align: center;
+ font-style: italic;
+}
+
+.header
+{
+ /*padding-bottom: 48px;
+ margin-bottom: 48px;*/
+ border-bottom: 1px solid var(--line-1);
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.index-header
+{
+ /*padding-bottom: 48px;
+ margin-bottom: 48px;*/
+ /* border-bottom: 1px solid var(--line-1); */
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+
+
+.logo
+{
+ font-size: 1.8rem;
+ font-weight: 600;
+ margin-bottom: 16px;
+ flex: 0 0 100%;
+}
+
+.index-logo
+{
+ font-size: 3rem;
+ font-weight: 600;
+ margin-bottom: 0px;
+ flex: 0 0 100%;
+}
+
+.nav
+{
+ margin: 4px -1px -3px;
+ flex: 0 0 100%;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.nav li
+{
+ padding: 2px 0;
+ margin-right: 24px;
+}
+.nav li:last-of-type
+{
+ margin-right: 0;
+}
+.nav li a
+{
+ color: var(--font-color-1);
+ /* opacity: .6; */
+ /* transition: opacity ease-in-out .5s; */
+}
+.nav li a:hover
+{
+ opacity: 1;
+ /* transition: opacity ease-in-out .5s; */
+}
+
+.post-header
+{
+ margin-bottom: 48px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.post-header .logo
+{
+ font-size: 1rem;
+}
+.post-header .go-home
+{
+ display: block;
+ padding: 10px 20px 8px;
+ border-radius: 18px;
+ background: #fff;
+ border: 1px solid #eee;
+ margin: 8px 0;
+ /* transition: background ease-in-out .5s; */
+}
+.post-header .go-home:hover
+{
+ background: var(--bg-color-1);
+ /* transition: background ease-in-out .5s; */
+}
+.post-header .go-home svg
+{
+ transform: translateX(0);
+ /* transition: transform ease-in-out .5s; */
+}
+.post-header .go-home:hover svg
+{
+ transform: translateX(-4px);
+ /* transition: transform ease-in-out .5s; */
+}
+
+.post-list
+{
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-items: stretch;
+}
+.post
+{
+ width: 100%;
+ padding-bottom: 48px;
+ margin-bottom: 48px;
+ border-bottom: 1px dashed var(--line-2);
+}
+.post-title
+{
+ display: inline-block;
+ font-size: 1.6rem;
+ font-weight: 600;
+ line-height: 1.5;
+ margin-bottom: 12px;
+ color: var(--font-color-1);
+ /*transition: color ease-in-out .5s;*/
+}
+.post-title:hover
+{
+ color: var(--font-color-0);
+ /* transition: color ease-in-out .5s; */
+}
+.post-except
+{
+ word-break: break-all;
+ margin-bottom: 12px;
+}
+.read-more
+{
+ padding: 0 4px;
+ color: var(--font-color-0);
+}
+.read-more:before,
+.read-more:after
+{
+ display: inline-block;
+ /* transition: transform ease-in-out .5s; */
+}
+.read-more:before
+{
+ content: "{ ";
+}
+.read-more:after
+{
+ content: " }";
+}
+.read-more:hover:before
+{
+ transform: translateX(-4px);
+ /* transition: transform ease-in-out .25s; */
+}
+.read-more:hover:after
+{
+ transform: translateX(4px);
+ /* transition: transform ease-in-out .25s; */
+}
+.post-date
+{
+ font-size: 0.875rem;
+ color: var(--font-color-3);
+}
+
+.paginator
+{
+ font-size: 0.875rem;
+ width: 100%;
+ margin: -18px auto 24px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ /*justify-content: space-evenly;*/
+ align-items: center;
+}
+.paginator *
+{
+ display: block;
+ padding: 8px 16px;
+ border-radius: 18px;
+ background: #fff;
+ border: 1px solid #eee;
+}
+.paginator .space
+{
+ display: block;
+ padding: 8px 16px;
+ border-radius: 18px;
+ background: #fff;
+ border: none;
+}
+.paginator a
+{
+ margin: 4px;
+ color: var(--font-color-2);
+ /* transition: color ease-in-out .5s; */
+}
+.paginator a:hover
+{
+ color: var(--font-color-0);
+ /* transition: color ease-in-out .5s; */
+}
+.paginator .current
+{
+ color: var(--font-color-0);
+ border: 1px solid var(--font-color-0);
+}
+
+.footer
+{
+ padding: 4px 0;
+ font-size: 0.875rem;
+ color: var(--font-color-3);
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.footer-last
+{
+ padding-bottom: 24px;
+ /* padding-top: 6px; */
+ font-size: 10px;
+ color: var(--font-color-3);
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: center;
+ align-items: center;
+ border-top: 1px solid var(--line-1);
+}
+.post-footer-pre-next
+{
+ padding-top: 10px;
+ /* padding-top: 6px; */
+ color: black;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: center;
+ align-items: center;
+ width: -webkit-fill-available;
+}
+
+.footer span
+{
+ text-align: left;
+ margin-bottom: -7px;
+}
+.footer-last-span-right
+{
+ flex: 1;
+ text-align: right;
+ font-size: 10px;
+}
+
+.post-footer-pre-next-last-span-right
+{
+ flex: 1;
+ text-align: right;
+}
+
+@media only screen and (max-width: 600px) {
+ .footer-last {
+ padding-top: 5px;
+ flex-direction: column;
+ }
+
+ .footer-last i{
+ font-style: normal;
+ }
+
+ .footer-last-span-right {
+ float: left;
+ font-size: 10px;
+ }
+ }
+
+.index-footer-last-span
+{
+ font-size: 10px;
+}
+.footer a
+{
+ color: var(--font-color-3);
+ /* transition: color ease-in-out .5s; */
+}
+.footer a:hover
+{
+ color: var(--font-color-0);
+ /* transition: color ease-in-out .5s; */
+}
+
+.post-main
+{
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ align-items: flex-start;
+ margin-bottom: 24px;
+}
+.post-main-title
+{
+ flex: 0 0 100%;
+ /*margin-bottom: 12px;*/
+ margin-top: 16px;
+ font-size: 1.6rem;
+ font-weight: 600;
+ line-height: 1.5;
+ color: var(--font-color-1);
+}
+.post-meta
+{
+ font-size: 0.875rem;
+ color: var(--font-color-3);
+ flex: 0 0 100%;
+ margin-bottom: 10px;
+ margin-top: 10px;
+}
+
+.archive
+{
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-content: normal;
+}
+.archive li
+{
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+ padding: 12px 0;
+}
+.archive li:nth-child(odd)
+{
+ background: #fafafa;
+}
+.archive li:nth-child(even)
+{
+ background: #fff;
+}
+.archive li span
+{
+ width: 108px;
+ color: var(--font-color-2);
+}
+.archive-main
+{
+ flex: 0 1 calc( 100% - 108px );
+}
+
+
+.archive-title
+{
+ color: var(--font-color-1);
+ /*transition: color ease-in-out .5s;*/
+}
+.archive-title:hover
+{
+ color: var(--font-color-0);
+ /* transition: color ease-in-out .5s; */
+}
+
+/* add by myself */
+.circle-green {
+ padding: 40px 25px 50px;
+ border: solid 1px green;
+ margin-bottom: 15px;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.circle-red {
+ padding: 40px 25px 50px;
+ border: solid 1px rgb(156, 0, 0);
+ margin-bottom: 15px;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.circle-orange {
+ padding: 40px 25px 50px;
+ border: solid 1px rgb(244, 135, 26);
+ margin-bottom: 15px;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.circle-blue {
+ padding: 40px 25px 50px;
+ border: solid 1px rgb(81, 114, 221);
+ margin-bottom: 15px;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+.circle-black {
+ padding: 40px 25px 50px;
+ border: solid 1px rgb(0, 0, 0);
+ margin-bottom: 15px;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ align-content: center;
+}
+
+.poem-header{
+ font-size: larger;
+}
+.poem span {
+ color: #000
+}
+
+/* comment*/
+.paper-comment {
+ padding: 4vw;
+}
+
+.paper-comment-main {
+ width: 100%;
+ max-width: 880px;
+ margin: 0 auto;
+ padding: 72px 8vw 24px;
+ background: #fff;
+ border-radius: 24px;
+ background: #fff;
+}
+
+
+.comments-container {
+ display: inline-block;
+ margin-top: 10px;
+ width: 100%
+}
+
+
+.comment-area-title {
+ width: 100%;
+ margin: 10px 0;
+ font-size: 1.38rem;
+ color: var(--default-text-color);
+}
+
+/* list页面 标签访问过后的颜色 */
+.archive-main a:link {
+ color:#4f7dde;
+ text-decoration:none;
+}
+
+.archive-main a:visited {
+ color:#9c9caf;
+ text-decoration: underline;
+}
+.archive-main a:hover {
+ color:#000000;
+ text-decoration: underline;
+}
+
+.index-header a:link {
+ color:#000000;
+ text-decoration:none;
+}
+
+.index-header a:visited {
+ color:#9c9caf;
+ text-decoration: underline;
+}
+
+.index-header a:hover {
+ color:rgb(0, 0, 0);
+ text-decoration: underline;
+}
+
+.header a:link {
+ color:rgb(0, 0, 0);
+ text-decoration: none;
+}
+
+.header a:hover {
+ color:rgb(0, 0, 0);
+ text-decoration: underline;
+}
+
+
+
+
+/* header相关 */
+.description {
+ font-size: smaller;
+ color: #9c9caf;
+ margin-top: -24px;
+}
+
+.header-container {
+ display: flex;
+ align-items: center;
+ }
+.header-content {
+display: flex;
+flex-direction: column;
+margin-left: 10px; /* 调整a标签和span之间的距离 */
+}
+
+/*img adj*/
+.about-achievement-container{
+ max-width: 100%;
+ display: flex;
+}
+
+.about-achievement-container img{
+ background-color: rgba(255, 255, 255, 0.5);
+ opacity: 0;
+ transition: opacity 0.3s ease;
+ display: inline-block;
+ margin: 0 auto;
+ vertical-align: middle;
+}
+
+.about-achievement-container img:hover{
+ opacity: 1;
+ cursor: pointer;
+ transform: scale(1.5);
+}
+.about-achievement-container img:active::before{
+ opacity: 1;
+ cursor: pointer;
+ transform: scale(1.5);
+}
+
+@media only screen and (max-width: 600px) {
+ .about-achievement-container {
+ max-width: 100%;
+ display: flex;
+ flex-direction: column;
+ }
+
+ .about-achievement-container img{
+ max-width: 50%;
+ margin-left: 0px;
+ display: inline-block;
+ margin: 0 auto;
+ vertical-align: middle;
+ }
+ }
+
+.inline-ul {
+ list-style: none;
+ padding: 0;
+}
+.inline-li {
+ display: inline-block;
+ margin-right: 10px; /* 可以根据需要调整元素之间的间距 */
+}
+
+.year-font-color {
+ color: black !important;
+}
+
+@media print {
+
+ /* All your print styles go here */
+ .paper {
+ margin: 0;
+ padding: 0;
+ }
+
+ .paper-main {
+ margin: 0 !important;
+ max-width: 100%;
+ }
+}
+
+.darkmode-layer, .darkmode-toggle {
+ z-index: 500;
+}
+
+.darkmode-background {
+ background: transparent !important;
+}
+
diff --git a/css/toc.css b/css/toc.css
new file mode 100644
index 0000000..f73c676
--- /dev/null
+++ b/css/toc.css
@@ -0,0 +1,187 @@
+
+
+.left-toc-container{
+ top: 206px;
+ left: 1px;
+ bottom: 110px;
+ overflow-y: auto; /* 或者使用 overflow-y: scroll; */
+ max-height: -webkit-fill-available; /* 设置最大高度,可以根据需要进行调整 */
+ position: fixed;
+ scrollbar-width: thin;
+}
+
+.left-toc-container::-webkit-scrollbar {
+ width: 10px; /* 设置滚动条宽度 */
+}
+
+.left-toc-container::-webkit-scrollbar-thumb {
+ background-color: white; /* 设置滚动条拖动块的颜色 */
+ border-radius: 5px; /* 设置圆角 */
+}
+
+.left-toc-container::-webkit-scrollbar-track {
+ background-color: transparent; /* 设置滚动条轨道的颜色 */
+}
+
+/* The Table of Contents container element */
+
+.tocify {
+ overflow: auto;
+ /* position: fixed;
+ left: -240px; */
+}
+
+/* sidebar */
+
+.bs-docs-sidebar {
+ /* top: 235px;
+ left: 1px; */
+}
+
+/* The Table of Contents is composed of multiple nested unordered lists. These styles remove the default styling of an unordered list because it is ugly. */
+
+.tocify ul,
+.tocify li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ border: none;
+ line-height: 30px;
+}
+
+
+/* Top level header elements */
+
+.tocify-header {
+ text-indent: 10px;
+}
+
+
+/* Top level subheader elements. These are the first nested items underneath a header element. */
+
+.tocify-subheader {
+ text-indent: 20px;
+ display: none;
+ border-left-width: 1px !important;
+}
+
+
+/* Makes the font smaller for all subheader elements. */
+
+.tocify-subheader li {
+ font-size: 12px;
+}
+
+
+/* Further indents second level subheader elements. */
+
+.tocify-subheader .tocify-subheader {
+ text-indent: 30px;
+}
+
+
+/* Further indents third level subheader elements. You can continue this pattern if you have more nested elements. */
+
+.tocify-subheader .tocify-subheader .tocify-subheader {
+ text-indent: 40px;
+}
+
+
+/* Twitter Bootstrap Override Style */
+
+.nav-list > li > a,
+.nav-list .nav-header {
+ margin: 0px;
+}
+
+
+/* Twitter Bootstrap Override Style */
+
+.nav-list > li > a {
+ padding: 5px;
+}
+
+
+
+
+
+/* all links */
+
+.bs-docs-sidebar .nav>li>a {
+ color: #999;
+ font-size: 13px;
+ font-weight: 400;
+ border-left: 4px solid transparent;
+ padding: 4px 20px;
+}
+
+
+/* nested links */
+
+.bs-docs-sidebar .nav .nav>li>a {
+ border-left-width: 2px;
+}
+
+.bs-docs-sidebar .nav .nav>ul>li>a {
+ border-left-width: 1px;
+}
+
+.bs-docs-sidebar .nav .nav>li>a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 30px;
+ font-size: 12px;
+}
+
+
+/* active & hover links */
+
+.bs-docs-sidebar .nav>.active>a,
+.bs-docs-sidebar .nav>li>a:hover,
+.bs-docs-sidebar .nav>li>a:focus {
+ color: #4f7ddf;
+ text-decoration: none;
+ background-color: transparent;
+ border-left-color: #4f7ddf;
+}
+
+
+/* all active links */
+
+.bs-docs-sidebar .nav>.active>a,
+.bs-docs-sidebar .nav>.active:hover>a,
+.bs-docs-sidebar .nav>.active:focus>a {
+ font-weight: 700;
+}
+
+
+/* nested active links */
+
+.bs-docs-sidebar .nav .nav>.active>a,
+.bs-docs-sidebar .nav .nav>.active:hover>a,
+.bs-docs-sidebar .nav .nav>.active:focus>a {
+ font-weight: 500;
+}
+
+
+/* hide inactive nested list */
+
+.bs-docs-sidebar .nav ul.nav {
+ display: none;
+}
+
+
+/* show active nested list */
+
+.bs-docs-sidebar .nav>.active>ul.nav {
+ display: block;
+}
+
+@media screen and (max-width: 1104px) {
+ .bs-docs-sidebar {
+ display: none
+ }
+}
+.tocify-extend-page {
+ height: 10px !important;
+}
\ No newline at end of file
diff --git a/css/ui.css b/css/ui.css
new file mode 100644
index 0000000..c21d7f0
--- /dev/null
+++ b/css/ui.css
@@ -0,0 +1,81 @@
+.shadow-drop-2-bottom {
+ animation: shadow-drop-2-bottom 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+/* ----------------------------------------------
+ * Generated by Animista on 2023-4-30 15:1:38
+ * Licensed under FreeBSD License.
+ * See http://animista.net/license for more info.
+ * w: http://animista.net, t: @cssanimista
+ * ---------------------------------------------- */
+
+/**
+ * ----------------------------------------
+ * animation shadow-drop-2-bottom
+ * ----------------------------------------
+ */
+ @keyframes shadow-drop-2-bottom {
+ 0% {
+ transform: translateZ(0) translateY(0);
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
+ }
+ 100% {
+ transform: translateZ(50px) translateY(-12px);
+ box-shadow: 0 5px 13px rgba(0, 0, 0, 0.35);
+ }
+ }
+
+ .shadow-drop-2-top {
+ animation: shadow-drop-2-top 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+/* ----------------------------------------------
+ * Generated by Animista on 2023-4-30 15:6:26
+ * Licensed under FreeBSD License.
+ * See http://animista.net/license for more info.
+ * w: http://animista.net, t: @cssanimista
+ * ---------------------------------------------- */
+
+/**
+ * ----------------------------------------
+ * animation shadow-drop-2-top
+ * ----------------------------------------
+ */
+ @keyframes shadow-drop-2-top {
+ 0% {
+ transform: translateZ(0) translateY(0);
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
+ }
+ 100% {
+ transform: translateZ(50px) translateY(12px);
+ box-shadow: 0 5px 13px rgba(0, 0, 0, 0.35);
+ }
+ }
+.shadow-drop-2-right {
+ animation: shadow-drop-2-right 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+/* ----------------------------------------------
+ * Generated by Animista on 2023-4-30 15:10:8
+ * Licensed under FreeBSD License.
+ * See http://animista.net/license for more info.
+ * w: http://animista.net, t: @cssanimista
+ * ---------------------------------------------- */
+
+/**
+ * ----------------------------------------
+ * animation shadow-drop-2-right
+ * ----------------------------------------
+ */
+ @keyframes shadow-drop-2-right {
+ 0% {
+ transform: translateZ(0) translateX(0);
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
+ }
+ 100% {
+ transform: translateZ(50px) translateX(-12px);
+ box-shadow: 0px 5px 13px rgba(0, 0, 0, 0.35);
+ }
+ }
+
+
+
+
+
\ No newline at end of file
diff --git a/css/unicons.css b/css/unicons.css
new file mode 100644
index 0000000..c1be484
--- /dev/null
+++ b/css/unicons.css
@@ -0,0 +1,1095 @@
+@font-face {
+ font-family: 'unicons';
+ src: url('https://jsd.onmicrosoft.cn/npm/hexo-theme-a4@latest/source/fonts/unicons.woff2') format('woff2');
+ font-weight: normal;
+ font-style: normal;
+}
+/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
+/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ @font-face {
+ font-family: 'unicons';
+ src: url('../font/unicons.svg?50911815#unicons') format('svg');
+ }
+}
+*/
+
+ [class^="uil-"]:before, [class*=" uil-"]:before {
+ font-family: "unicons";
+ font-style: normal;
+ font-weight: normal;
+ speak: none;
+
+ display: inline-block;
+ text-decoration: inherit;
+ text-align: center;
+ /* opacity: .8; */
+
+ /* For safety - reset parent styles, that can break glyph codes*/
+ font-variant: normal;
+ text-transform: none;
+
+ /* fix buttons height, for twitter bootstrap */
+ line-height: 1em;
+
+ /* you can be more comfortable with increased icons size */
+ /* font-size: 120%; */
+
+ /* Font smoothing. That was taken from TWBS */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+
+ /* Uncomment for 3D effect */
+ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+
+.uil-0-plus:before { content: '\e800'; } /* '顮€' */
+.uil-10-plus:before { content: '\e801'; } /* '顮�' */
+.uil-12-plus:before { content: '\e802'; } /* '顮�' */
+.uil-13-plus:before { content: '\e803'; } /* '顮�' */
+.uil-16-plus:before { content: '\e804'; } /* '顮�' */
+.uil-17-plus:before { content: '\e805'; } /* '顮�' */
+.uil-18-plus:before { content: '\e806'; } /* '顮�' */
+.uil-21-plus:before { content: '\e807'; } /* '顮�' */
+.uil-3-plus:before { content: '\e808'; } /* '顮�' */
+.uil-500px:before { content: '\e809'; } /* '顮�' */
+.uil-6-plus:before { content: '\e80a'; } /* '顮�' */
+.uil-abacus:before { content: '\e80b'; } /* '顮�' */
+.uil-accessible-icon-alt:before { content: '\e80c'; } /* '顮�' */
+.uil-adjust-alt:before { content: '\e80d'; } /* '顮�' */
+.uil-adjust-circle:before { content: '\e80e'; } /* '顮�' */
+.uil-adjust-half:before { content: '\e80f'; } /* '顮�' */
+.uil-adjust:before { content: '\e810'; } /* '顮�' */
+.uil-adobe:before { content: '\e811'; } /* '顮�' */
+.uil-airplay:before { content: '\e812'; } /* '顮�' */
+.uil-align-alt:before { content: '\e813'; } /* '顮�' */
+.uil-align-center-alt:before { content: '\e814'; } /* '顮�' */
+.uil-align-center-h:before { content: '\e815'; } /* '顮�' */
+.uil-align-center-justify:before { content: '\e816'; } /* '顮�' */
+.uil-align-center-v:before { content: '\e817'; } /* '顮�' */
+.uil-align-center:before { content: '\e818'; } /* '顮�' */
+.uil-align-justify:before { content: '\e819'; } /* '顮�' */
+.uil-align-left-justify:before { content: '\e81a'; } /* '顮�' */
+.uil-align-left:before { content: '\e81b'; } /* '顮�' */
+.uil-align-letter-right:before { content: '\e81c'; } /* '顮�' */
+.uil-align-right-justify:before { content: '\e81d'; } /* '顮�' */
+.uil-align-right:before { content: '\e81e'; } /* '顮�' */
+.uil-align:before { content: '\e81f'; } /* '顮�' */
+.uil-ambulance:before { content: '\e820'; } /* '顮�' */
+.uil-analysis:before { content: '\e821'; } /* '顮�' */
+.uil-analytics:before { content: '\e822'; } /* '顮�' */
+.uil-anchor:before { content: '\e823'; } /* '顮�' */
+.uil-android-phone-slash:before { content: '\e824'; } /* '顮�' */
+.uil-angle-double-down:before { content: '\e825'; } /* '顮�' */
+.uil-angle-double-left:before { content: '\e826'; } /* '顮�' */
+.uil-angle-double-right:before { content: '\e827'; } /* '顮�' */
+.uil-angle-double-up:before { content: '\e828'; } /* '顮�' */
+.uil-angle-down:before { content: '\e829'; } /* '顮�' */
+.uil-angle-left:before { content: '\e82a'; } /* '顮�' */
+.uil-angle-right-b:before { content: '\e82b'; } /* '顮�' */
+.uil-angle-right:before { content: '\e82c'; } /* '顮�' */
+.uil-angle-up:before { content: '\e82d'; } /* '顮�' */
+.uil-angry:before { content: '\e82e'; } /* '顮�' */
+.uil-ankh:before { content: '\e82f'; } /* '顮�' */
+.uil-annoyed-alt:before { content: '\e830'; } /* '顮�' */
+.uil-annoyed:before { content: '\e831'; } /* '顮�' */
+.uil-apple:before { content: '\e832'; } /* '顮�' */
+.uil-apps:before { content: '\e833'; } /* '顮�' */
+.uil-archive-alt:before { content: '\e834'; } /* '顮�' */
+.uil-archive:before { content: '\e835'; } /* '顮�' */
+.uil-archway:before { content: '\e836'; } /* '顮�' */
+.uil-arrow-break:before { content: '\e837'; } /* '顮�' */
+.uil-arrow-circle-down:before { content: '\e838'; } /* '顮�' */
+.uil-arrow-circle-left:before { content: '\e839'; } /* '顮�' */
+.uil-arrow-circle-right:before { content: '\e83a'; } /* '顮�' */
+.uil-arrow-circle-up:before { content: '\e83b'; } /* '顮�' */
+.uil-arrow-compress-h:before { content: '\e83c'; } /* '顮�' */
+.uil-arrow-down-left:before { content: '\e83d'; } /* '顮�' */
+.uil-arrow-down-right:before { content: '\e83e'; } /* '顮�' */
+.uil-arrow-down:before { content: '\e83f'; } /* '顮�' */
+.uil-arrow-from-right:before { content: '\e840'; } /* '睢€' */
+.uil-arrow-from-top:before { content: '\e841'; } /* '睢�' */
+.uil-arrow-growth:before { content: '\e842'; } /* '睢�' */
+.uil-arrow-left:before { content: '\e843'; } /* '睢�' */
+.uil-arrow-random:before { content: '\e844'; } /* '睢�' */
+.uil-arrow-resize-diagonal:before { content: '\e845'; } /* '睢�' */
+.uil-arrow-right:before { content: '\e846'; } /* '睢�' */
+.uil-arrow-to-bottom:before { content: '\e847'; } /* '睢�' */
+.uil-arrow-to-right:before { content: '\e848'; } /* '睢�' */
+.uil-arrow-up-left:before { content: '\e849'; } /* '睢�' */
+.uil-arrow-up-right:before { content: '\e84a'; } /* '睢�' */
+.uil-arrow-up:before { content: '\e84b'; } /* '睢�' */
+.uil-arrows-h-alt:before { content: '\e84c'; } /* '睢�' */
+.uil-arrows-h:before { content: '\e84d'; } /* '睢�' */
+.uil-arrows-left-down:before { content: '\e84e'; } /* '睢�' */
+.uil-arrows-maximize:before { content: '\e84f'; } /* '睢�' */
+.uil-arrows-merge:before { content: '\e850'; } /* '睢�' */
+.uil-arrows-resize-h:before { content: '\e851'; } /* '睢�' */
+.uil-arrows-resize-v:before { content: '\e852'; } /* '睢�' */
+.uil-arrows-resize:before { content: '\e853'; } /* '睢�' */
+.uil-arrows-right-down:before { content: '\e854'; } /* '睢�' */
+.uil-arrows-shrink-h:before { content: '\e855'; } /* '睢�' */
+.uil-arrows-shrink-v:before { content: '\e856'; } /* '睢�' */
+.uil-arrows-up-right:before { content: '\e857'; } /* '睢�' */
+.uil-arrows-v-alt:before { content: '\e858'; } /* '睢�' */
+.uil-arrows-v:before { content: '\e859'; } /* '睢�' */
+.uil-assistive-listening-systems:before { content: '\e85a'; } /* '睢�' */
+.uil-at:before { content: '\e85b'; } /* '睢�' */
+.uil-atm-card:before { content: '\e85c'; } /* '睢�' */
+.uil-atom:before { content: '\e85d'; } /* '睢�' */
+.uil-auto-flash:before { content: '\e85e'; } /* '睢�' */
+.uil-award-alt:before { content: '\e85f'; } /* '睢�' */
+.uil-award:before { content: '\e860'; } /* '睢�' */
+.uil-baby-carriage:before { content: '\e861'; } /* '睢�' */
+.uil-backpack:before { content: '\e862'; } /* '睢�' */
+.uil-backspace:before { content: '\e863'; } /* '睢�' */
+.uil-backward:before { content: '\e864'; } /* '睢�' */
+.uil-bag-alt:before { content: '\e865'; } /* '睢�' */
+.uil-bag-slash:before { content: '\e866'; } /* '睢�' */
+.uil-bag:before { content: '\e867'; } /* '睢�' */
+.uil-ball:before { content: '\e868'; } /* '睢�' */
+.uil-ban:before { content: '\e869'; } /* '睢�' */
+.uil-bars:before { content: '\e86a'; } /* '睢�' */
+.uil-basketball-hoop:before { content: '\e86b'; } /* '睢�' */
+.uil-basketball:before { content: '\e86c'; } /* '睢�' */
+.uil-battery-bolt:before { content: '\e86d'; } /* '睢�' */
+.uil-battery-empty:before { content: '\e86e'; } /* '睢�' */
+.uil-bed-double:before { content: '\e86f'; } /* '睢�' */
+.uil-bed:before { content: '\e870'; } /* '睢�' */
+.uil-behance:before { content: '\e871'; } /* '睢�' */
+.uil-bell-school:before { content: '\e872'; } /* '睢�' */
+.uil-bell-slash:before { content: '\e873'; } /* '睢�' */
+.uil-bell:before { content: '\e874'; } /* '睢�' */
+.uil-bill:before { content: '\e875'; } /* '睢�' */
+.uil-bitcoin-circle:before { content: '\e876'; } /* '睢�' */
+.uil-bitcoin:before { content: '\e877'; } /* '睢�' */
+.uil-black-berry:before { content: '\e878'; } /* '睢�' */
+.uil-bluetooth-b:before { content: '\e879'; } /* '睢�' */
+.uil-bold:before { content: '\e87a'; } /* '睢�' */
+.uil-bolt-alt:before { content: '\e87b'; } /* '睢�' */
+.uil-bolt-slash:before { content: '\e87c'; } /* '睢�' */
+.uil-bolt:before { content: '\e87d'; } /* '睢�' */
+.uil-book-alt:before { content: '\e87e'; } /* '睢�' */
+.uil-book-medical:before { content: '\e87f'; } /* '睢�' */
+.uil-book-open:before { content: '\e880'; } /* '睥€' */
+.uil-book-reader:before { content: '\e881'; } /* '睥�' */
+.uil-book:before { content: '\e882'; } /* '睥�' */
+.uil-bookmark-full:before { content: '\e883'; } /* '睥�' */
+.uil-bookmark:before { content: '\e884'; } /* '睥�' */
+.uil-books:before { content: '\e885'; } /* '睥�' */
+.uil-boombox:before { content: '\e886'; } /* '睥�' */
+.uil-border-alt:before { content: '\e887'; } /* '睥�' */
+.uil-border-bottom:before { content: '\e888'; } /* '睥�' */
+.uil-border-clear:before { content: '\e889'; } /* '睥�' */
+.uil-border-horizontal:before { content: '\e88a'; } /* '睥�' */
+.uil-border-inner:before { content: '\e88b'; } /* '睥�' */
+.uil-border-left:before { content: '\e88c'; } /* '睥�' */
+.uil-border-out:before { content: '\e88d'; } /* '睥�' */
+.uil-border-right:before { content: '\e88e'; } /* '睥�' */
+.uil-border-top:before { content: '\e88f'; } /* '睥�' */
+.uil-border-vertical:before { content: '\e890'; } /* '睥�' */
+.uil-box:before { content: '\e891'; } /* '睥�' */
+.uil-briefcase-alt:before { content: '\e892'; } /* '睥�' */
+.uil-briefcase:before { content: '\e893'; } /* '睥�' */
+.uil-bright:before { content: '\e894'; } /* '睥�' */
+.uil-brightness-empty:before { content: '\e895'; } /* '睥�' */
+.uil-brightness-half:before { content: '\e896'; } /* '睥�' */
+.uil-brightness-low:before { content: '\e897'; } /* '睥�' */
+.uil-brightness-minus:before { content: '\e898'; } /* '睥�' */
+.uil-brightness-plus:before { content: '\e899'; } /* '睥�' */
+.uil-brightness:before { content: '\e89a'; } /* '睥�' */
+.uil-bring-bottom:before { content: '\e89b'; } /* '睥�' */
+.uil-bring-front:before { content: '\e89c'; } /* '睥�' */
+.uil-brush-alt:before { content: '\e89d'; } /* '睥�' */
+.uil-bug:before { content: '\e89e'; } /* '睥�' */
+.uil-building:before { content: '\e89f'; } /* '睥�' */
+.uil-bullseye:before { content: '\e8a0'; } /* '睥�' */
+.uil-bus-alt:before { content: '\e8a1'; } /* '睥�' */
+.uil-bus-school:before { content: '\e8a2'; } /* '睥�' */
+.uil-bus:before { content: '\e8a3'; } /* '睥�' */
+.uil-calcualtor:before { content: '\e8a4'; } /* '睥�' */
+.uil-calculator-alt:before { content: '\e8a5'; } /* '睥�' */
+.uil-calendar-alt:before { content: '\e8a6'; } /* '睥�' */
+.uil-calendar-slash:before { content: '\e8a7'; } /* '睥�' */
+.uil-calender:before { content: '\e8a8'; } /* '睥�' */
+.uil-calling:before { content: '\e8a9'; } /* '睥�' */
+.uil-camera-change:before { content: '\e8aa'; } /* '睥�' */
+.uil-camera-plus:before { content: '\e8ab'; } /* '睥�' */
+.uil-camera-slash:before { content: '\e8ac'; } /* '睥�' */
+.uil-camera:before { content: '\e8ad'; } /* '睥�' */
+.uil-cancel:before { content: '\e8ae'; } /* '睥�' */
+.uil-capsule:before { content: '\e8af'; } /* '睥�' */
+.uil-capture:before { content: '\e8b0'; } /* '睥�' */
+.uil-car-sideview:before { content: '\e8b1'; } /* '睥�' */
+.uil-car-slash:before { content: '\e8b2'; } /* '睥�' */
+.uil-car-wash:before { content: '\e8b3'; } /* '睥�' */
+.uil-car:before { content: '\e8b4'; } /* '睥�' */
+.uil-card-atm:before { content: '\e8b5'; } /* '睥�' */
+.uil-caret-right:before { content: '\e8b6'; } /* '睥�' */
+.uil-cart:before { content: '\e8b7'; } /* '睥�' */
+.uil-cell:before { content: '\e8b8'; } /* '睥�' */
+.uil-celsius:before { content: '\e8b9'; } /* '睥�' */
+.uil-chart-bar-alt:before { content: '\e8ba'; } /* '睥�' */
+.uil-chart-bar:before { content: '\e8bb'; } /* '睥�' */
+.uil-chart-down:before { content: '\e8bc'; } /* '睥�' */
+.uil-chart-growth-alt:before { content: '\e8bd'; } /* '睥�' */
+.uil-chart-growth:before { content: '\e8be'; } /* '睥�' */
+.uil-chart-line:before { content: '\e8bf'; } /* '睥�' */
+.uil-chart-pie-alt:before { content: '\e8c0'; } /* '睿€' */
+.uil-chart-pie:before { content: '\e8c1'; } /* '睿�' */
+.uil-chart:before { content: '\e8c2'; } /* '睿�' */
+.uil-chat-bubble-user:before { content: '\e8c3'; } /* '睿�' */
+.uil-chat-info:before { content: '\e8c4'; } /* '睿�' */
+.uil-chat:before { content: '\e8c5'; } /* '睿�' */
+.uil-check-circle:before { content: '\e8c6'; } /* '睿�' */
+.uil-check-square:before { content: '\e8c7'; } /* '睿�' */
+.uil-check:before { content: '\e8c8'; } /* '睿�' */
+.uil-circle-layer:before { content: '\e8c9'; } /* '睿�' */
+.uil-circle:before { content: '\e8ca'; } /* '睿�' */
+.uil-circuit:before { content: '\e8cb'; } /* '睿�' */
+.uil-clapper-board:before { content: '\e8cc'; } /* '睿�' */
+.uil-clipboard-alt:before { content: '\e8cd'; } /* '睿�' */
+.uil-clipboard-blank:before { content: '\e8ce'; } /* '睿�' */
+.uil-clipboard-notes:before { content: '\e8cf'; } /* '睿�' */
+.uil-clipboard:before { content: '\e8d0'; } /* '睿�' */
+.uil-clock-eight:before { content: '\e8d1'; } /* '睿�' */
+.uil-clock-five:before { content: '\e8d2'; } /* '睿�' */
+.uil-clock-nine:before { content: '\e8d3'; } /* '睿�' */
+.uil-clock-seven:before { content: '\e8d4'; } /* '睿�' */
+.uil-clock-ten:before { content: '\e8d5'; } /* '睿�' */
+.uil-clock-three:before { content: '\e8d6'; } /* '睿�' */
+.uil-clock-two:before { content: '\e8d7'; } /* '睿�' */
+.uil-clock:before { content: '\e8d8'; } /* '睿�' */
+.uil-closed-captioning:before { content: '\e8d9'; } /* '睿�' */
+.uil-cloud-block:before { content: '\e8da'; } /* '睿�' */
+.uil-cloud-bookmark:before { content: '\e8db'; } /* '睿�' */
+.uil-cloud-check:before { content: '\e8dc'; } /* '睿�' */
+.uil-cloud-computing:before { content: '\e8dd'; } /* '睿�' */
+.uil-cloud-data-connection:before { content: '\e8de'; } /* '睿�' */
+.uil-cloud-database-tree:before { content: '\e8df'; } /* '睿�' */
+.uil-cloud-download:before { content: '\e8e0'; } /* '睿�' */
+.uil-cloud-drizzle:before { content: '\e8e1'; } /* '睿�' */
+.uil-cloud-exclamation:before { content: '\e8e2'; } /* '睿�' */
+.uil-cloud-hail:before { content: '\e8e3'; } /* '睿�' */
+.uil-cloud-heart:before { content: '\e8e4'; } /* '睿�' */
+.uil-cloud-info:before { content: '\e8e5'; } /* '睿�' */
+.uil-cloud-lock:before { content: '\e8e6'; } /* '睿�' */
+.uil-cloud-meatball:before { content: '\e8e7'; } /* '睿�' */
+.uil-cloud-moon-hail:before { content: '\e8e8'; } /* '睿�' */
+.uil-cloud-moon-meatball:before { content: '\e8e9'; } /* '睿�' */
+.uil-cloud-moon-rain:before { content: '\e8ea'; } /* '睿�' */
+.uil-cloud-moon-showers:before { content: '\e8eb'; } /* '睿�' */
+.uil-cloud-moon:before { content: '\e8ec'; } /* '睿�' */
+.uil-cloud-question:before { content: '\e8ed'; } /* '睿�' */
+.uil-cloud-rain-sun:before { content: '\e8ee'; } /* '睿�' */
+.uil-cloud-rain:before { content: '\e8ef'; } /* '睿�' */
+.uil-cloud-redo:before { content: '\e8f0'; } /* '睿�' */
+.uil-cloud-set:before { content: '\e8f1'; } /* '睿�' */
+.uil-cloud-share:before { content: '\e8f2'; } /* '睿�' */
+.uil-cloud-shield:before { content: '\e8f3'; } /* '睿�' */
+.uil-cloud-showers-alt:before { content: '\e8f4'; } /* '睿�' */
+.uil-cloud-showers-heavy:before { content: '\e8f5'; } /* '睿�' */
+.uil-cloud-showers:before { content: '\e8f6'; } /* '睿�' */
+.uil-cloud-slash:before { content: '\e8f7'; } /* '睿�' */
+.uil-cloud-sun-hail:before { content: '\e8f8'; } /* '睿�' */
+.uil-cloud-sun-meatball:before { content: '\e8f9'; } /* '睿�' */
+.uil-cloud-sun-rain-alt:before { content: '\e8fa'; } /* '睿�' */
+.uil-cloud-sun-rain:before { content: '\e8fb'; } /* '睿�' */
+.uil-cloud-sun-tear:before { content: '\e8fc'; } /* '睿�' */
+.uil-cloud-sun:before { content: '\e8fd'; } /* '睿�' */
+.uil-cloud-times:before { content: '\e8fe'; } /* '睿�' */
+.uil-cloud-unlock:before { content: '\e8ff'; } /* '睿�' */
+.uil-cloud-upload:before { content: '\e900'; } /* '瞍€' */
+.uil-cloud-wifi:before { content: '\e901'; } /* '瞍�' */
+.uil-cloud-wind:before { content: '\e902'; } /* '瞍�' */
+.uil-cloud:before { content: '\e903'; } /* '瞍�' */
+.uil-clouds:before { content: '\e904'; } /* '瞍�' */
+.uil-club:before { content: '\e905'; } /* '瞍�' */
+.uil-code:before { content: '\e906'; } /* '瞍�' */
+.uil-coffee:before { content: '\e907'; } /* '瞍�' */
+.uil-cog:before { content: '\e908'; } /* '瞍�' */
+.uil-coins:before { content: '\e909'; } /* '瞍�' */
+.uil-columns:before { content: '\e90a'; } /* '瞍�' */
+.uil-comment-alt-block:before { content: '\e90b'; } /* '瞍�' */
+.uil-comment-alt-chart-lines:before { content: '\e90c'; } /* '瞍�' */
+.uil-comment-alt-check:before { content: '\e90d'; } /* '瞍�' */
+.uil-comment-alt-dots:before { content: '\e90e'; } /* '瞍�' */
+.uil-comment-alt-download:before { content: '\e90f'; } /* '瞍�' */
+.uil-comment-alt-edit:before { content: '\e910'; } /* '瞍�' */
+.uil-comment-alt-exclamation:before { content: '\e911'; } /* '瞍�' */
+.uil-comment-alt-heart:before { content: '\e912'; } /* '瞍�' */
+.uil-comment-alt-image:before { content: '\e913'; } /* '瞍�' */
+.uil-comment-alt-info:before { content: '\e914'; } /* '瞍�' */
+.uil-comment-alt-lines:before { content: '\e915'; } /* '瞍�' */
+.uil-comment-alt-lock:before { content: '\e916'; } /* '瞍�' */
+.uil-comment-alt-medical:before { content: '\e917'; } /* '瞍�' */
+.uil-comment-alt-message:before { content: '\e918'; } /* '瞍�' */
+.uil-comment-alt-notes:before { content: '\e919'; } /* '瞍�' */
+.uil-comment-alt-plus:before { content: '\e91a'; } /* '瞍�' */
+.uil-comment-alt-question:before { content: '\e91b'; } /* '瞍�' */
+.uil-comment-alt-redo:before { content: '\e91c'; } /* '瞍�' */
+.uil-comment-alt-search:before { content: '\e91d'; } /* '瞍�' */
+.uil-comment-alt-share:before { content: '\e91e'; } /* '瞍�' */
+.uil-comment-alt-shield:before { content: '\e91f'; } /* '瞍�' */
+.uil-comment-alt-slash:before { content: '\e920'; } /* '瞍�' */
+.uil-comment-alt-upload:before { content: '\e921'; } /* '瞍�' */
+.uil-comment-alt-verify:before { content: '\e922'; } /* '瞍�' */
+.uil-comment-alt:before { content: '\e923'; } /* '瞍�' */
+.uil-comment-block:before { content: '\e924'; } /* '瞍�' */
+.uil-comment-chart-line:before { content: '\e925'; } /* '瞍�' */
+.uil-comment-check:before { content: '\e926'; } /* '瞍�' */
+.uil-comment-dots:before { content: '\e927'; } /* '瞍�' */
+.uil-comment-download:before { content: '\e928'; } /* '瞍�' */
+.uil-comment-edit:before { content: '\e929'; } /* '瞍�' */
+.uil-comment-exclamation:before { content: '\e92a'; } /* '瞍�' */
+.uil-comment-heart:before { content: '\e92b'; } /* '瞍�' */
+.uil-comment-image:before { content: '\e92c'; } /* '瞍�' */
+.uil-comment-info-alt:before { content: '\e92d'; } /* '瞍�' */
+.uil-comment-info:before { content: '\e92e'; } /* '瞍�' */
+.uil-comment-lines:before { content: '\e92f'; } /* '瞍�' */
+.uil-comment-lock:before { content: '\e930'; } /* '瞍�' */
+.uil-comment-medical:before { content: '\e931'; } /* '瞍�' */
+.uil-comment-message:before { content: '\e932'; } /* '瞍�' */
+.uil-comment-notes:before { content: '\e933'; } /* '瞍�' */
+.uil-comment-plus:before { content: '\e934'; } /* '瞍�' */
+.uil-comment-question:before { content: '\e935'; } /* '瞍�' */
+.uil-comment-redo:before { content: '\e936'; } /* '瞍�' */
+.uil-comment-search:before { content: '\e937'; } /* '瞍�' */
+.uil-comment-share:before { content: '\e938'; } /* '瞍�' */
+.uil-comment-shield:before { content: '\e939'; } /* '瞍�' */
+.uil-comment-slash:before { content: '\e93a'; } /* '瞍�' */
+.uil-comment-upload:before { content: '\e93b'; } /* '瞍�' */
+.uil-comment-verify:before { content: '\e93c'; } /* '瞍�' */
+.uil-comment:before { content: '\e93d'; } /* '瞍�' */
+.uil-comments-alt:before { content: '\e93e'; } /* '瞍�' */
+.uil-comments:before { content: '\e93f'; } /* '瞍�' */
+.uil-commnet-alt-slash:before { content: '\e940'; } /* '睽€' */
+.uil-compact-disc:before { content: '\e941'; } /* '睽�' */
+.uil-compass:before { content: '\e942'; } /* '睽�' */
+.uil-compress-alt-left:before { content: '\e943'; } /* '睽�' */
+.uil-compress-alt:before { content: '\e944'; } /* '睽�' */
+.uil-compress-arrows:before { content: '\e945'; } /* '睽�' */
+.uil-compress-lines:before { content: '\e946'; } /* '睽�' */
+.uil-compress-point:before { content: '\e947'; } /* '睽�' */
+.uil-compress-v:before { content: '\e948'; } /* '睽�' */
+.uil-compress:before { content: '\e949'; } /* '睽�' */
+.uil-computer-mouse:before { content: '\e94a'; } /* '睽�' */
+.uil-confused:before { content: '\e94b'; } /* '睽�' */
+.uil-constructor:before { content: '\e94c'; } /* '睽�' */
+.uil-copy-alt:before { content: '\e94d'; } /* '睽�' */
+.uil-copy-landscape:before { content: '\e94e'; } /* '睽�' */
+.uil-copy:before { content: '\e94f'; } /* '睽�' */
+.uil-copyright:before { content: '\e950'; } /* '睽�' */
+.uil-corner-down-left:before { content: '\e951'; } /* '睽�' */
+.uil-corner-down-right-alt:before { content: '\e952'; } /* '睽�' */
+.uil-corner-down-right:before { content: '\e953'; } /* '睽�' */
+.uil-corner-left-down:before { content: '\e954'; } /* '睽�' */
+.uil-corner-right-down:before { content: '\e955'; } /* '睽�' */
+.uil-corner-up-left-alt:before { content: '\e956'; } /* '睽�' */
+.uil-corner-up-left:before { content: '\e957'; } /* '睽�' */
+.uil-corner-up-right-alt:before { content: '\e958'; } /* '睽�' */
+.uil-corner-up-right:before { content: '\e959'; } /* '睽�' */
+.uil-creative-commons-pd-alt:before { content: '\e95a'; } /* '睽�' */
+.uil-creative-commons-pd:before { content: '\e95b'; } /* '睽�' */
+.uil-crockery:before { content: '\e95c'; } /* '睽�' */
+.uil-crop-alt-rotate-left:before { content: '\e95d'; } /* '睽�' */
+.uil-crop-alt-rotate-right:before { content: '\e95e'; } /* '睽�' */
+.uil-crop-alt:before { content: '\e95f'; } /* '睽�' */
+.uil-crosshair-alt:before { content: '\e960'; } /* '睽�' */
+.uil-crosshair:before { content: '\e961'; } /* '睽�' */
+.uil-crosshairs:before { content: '\e962'; } /* '睽�' */
+.uil-cube:before { content: '\e963'; } /* '睽�' */
+.uil-data-sharing:before { content: '\e964'; } /* '睽�' */
+.uil-database-alt:before { content: '\e965'; } /* '睽�' */
+.uil-database:before { content: '\e966'; } /* '睽�' */
+.uil-desert:before { content: '\e967'; } /* '睽�' */
+.uil-desktop-alt-slash:before { content: '\e968'; } /* '睽�' */
+.uil-desktop-alt:before { content: '\e969'; } /* '睽�' */
+.uil-desktop-cloud-alt:before { content: '\e96a'; } /* '睽�' */
+.uil-desktop-slash:before { content: '\e96b'; } /* '睽�' */
+.uil-desktop:before { content: '\e96c'; } /* '睽�' */
+.uil-dialpad-alt:before { content: '\e96d'; } /* '睽�' */
+.uil-dialpad:before { content: '\e96e'; } /* '睽�' */
+.uil-diamond:before { content: '\e96f'; } /* '睽�' */
+.uil-diary-alt:before { content: '\e970'; } /* '睽�' */
+.uil-diary:before { content: '\e971'; } /* '睽�' */
+.uil-dice-five:before { content: '\e972'; } /* '睽�' */
+.uil-dice-four:before { content: '\e973'; } /* '睽�' */
+.uil-dice-one:before { content: '\e974'; } /* '睽�' */
+.uil-dice-six:before { content: '\e975'; } /* '睽�' */
+.uil-dice-three:before { content: '\e976'; } /* '睽�' */
+.uil-dice-two:before { content: '\e977'; } /* '睽�' */
+.uil-direction:before { content: '\e978'; } /* '睽�' */
+.uil-directions:before { content: '\e979'; } /* '睽�' */
+.uil-dizzy-meh:before { content: '\e97a'; } /* '睽�' */
+.uil-dna:before { content: '\e97b'; } /* '睽�' */
+.uil-document-layout-center:before { content: '\e97c'; } /* '睽�' */
+.uil-document-layout-left:before { content: '\e97d'; } /* '睽�' */
+.uil-document-layout-right:before { content: '\e97e'; } /* '睽�' */
+.uil-document:before { content: '\e97f'; } /* '睽�' */
+.uil-dollar-alt:before { content: '\e980'; } /* '瞀€' */
+.uil-dollar-sign-alt:before { content: '\e981'; } /* '瞀�' */
+.uil-dollar-sign:before { content: '\e982'; } /* '瞀�' */
+.uil-down-arrow:before { content: '\e983'; } /* '瞀�' */
+.uil-download-alt:before { content: '\e984'; } /* '瞀�' */
+.uil-dribbble:before { content: '\e985'; } /* '瞀�' */
+.uil-drill:before { content: '\e986'; } /* '瞀�' */
+.uil-dropbox:before { content: '\e987'; } /* '瞀�' */
+.uil-dumbbell:before { content: '\e988'; } /* '瞀�' */
+.uil-edit-alt:before { content: '\e98a'; } /* '瞀�' */
+.uil-edit:before { content: '\e98b'; } /* '瞀�' */
+.uil-ellipsis-h:before { content: '\e98c'; } /* '瞀�' */
+.uil-ellipsis-v:before { content: '\e98d'; } /* '瞀�' */
+.uil-emoji:before { content: '\e98e'; } /* '瞀�' */
+.uil-enter:before { content: '\e98f'; } /* '瞀�' */
+.uil-entry:before { content: '\e990'; } /* '瞀�' */
+.uil-envelope-add:before { content: '\e991'; } /* '瞀�' */
+.uil-envelope-alt:before { content: '\e992'; } /* '瞀�' */
+.uil-envelope-block:before { content: '\e993'; } /* '瞀�' */
+.uil-envelope-bookmark:before { content: '\e994'; } /* '瞀�' */
+.uil-envelope-check:before { content: '\e995'; } /* '瞀�' */
+.uil-envelope-download-alt:before { content: '\e996'; } /* '瞀�' */
+.uil-envelope-download:before { content: '\e997'; } /* '瞀�' */
+.uil-envelope-edit:before { content: '\e998'; } /* '瞀�' */
+.uil-envelope-exclamation:before { content: '\e999'; } /* '瞀�' */
+.uil-envelope-heart:before { content: '\e99a'; } /* '瞀�' */
+.uil-envelope-info:before { content: '\e99b'; } /* '瞀�' */
+.uil-envelope-lock:before { content: '\e99c'; } /* '瞀�' */
+.uil-envelope-minus:before { content: '\e99d'; } /* '瞀�' */
+.uil-envelope-open:before { content: '\e99e'; } /* '瞀�' */
+.uil-envelope-question:before { content: '\e99f'; } /* '瞀�' */
+.uil-envelope-receive:before { content: '\e9a0'; } /* '瞀�' */
+.uil-envelope-redo:before { content: '\e9a1'; } /* '瞀�' */
+.uil-envelope-search:before { content: '\e9a2'; } /* '瞀�' */
+.uil-envelope-send:before { content: '\e9a3'; } /* '瞀�' */
+.uil-envelope-share:before { content: '\e9a4'; } /* '瞀�' */
+.uil-envelope-shield:before { content: '\e9a5'; } /* '瞀�' */
+.uil-envelope-star:before { content: '\e9a6'; } /* '瞀�' */
+.uil-envelope-times:before { content: '\e9a7'; } /* '瞀�' */
+.uil-envelope-upload-alt:before { content: '\e9a8'; } /* '瞀�' */
+.uil-envelope-upload:before { content: '\e9a9'; } /* '瞀�' */
+.uil-envelope:before { content: '\e9aa'; } /* '瞀�' */
+.uil-envelopes:before { content: '\e9ab'; } /* '瞀�' */
+.uil-equal-circle:before { content: '\e9ac'; } /* '瞀�' */
+.uil-euro-circle:before { content: '\e9ad'; } /* '瞀�' */
+.uil-euro:before { content: '\e9ae'; } /* '瞀�' */
+.uil-exchange-alt:before { content: '\e9af'; } /* '瞀�' */
+.uil-exchange:before { content: '\e9b0'; } /* '瞀�' */
+.uil-exclamation-circle:before { content: '\e9b1'; } /* '瞀�' */
+.uil-exclamation-octagon:before { content: '\e9b2'; } /* '瞀�' */
+.uil-exclamation-triangle:before { content: '\e9b3'; } /* '瞀�' */
+.uil-exclude:before { content: '\e9b4'; } /* '瞀�' */
+.uil-exit:before { content: '\e9b5'; } /* '瞀�' */
+.uil-expand-alt:before { content: '\e9b6'; } /* '瞀�' */
+.uil-expand-arrows-alt:before { content: '\e9b7'; } /* '瞀�' */
+.uil-expand-arrows:before { content: '\e9b8'; } /* '瞀�' */
+.uil-expand-from-corner:before { content: '\e9b9'; } /* '瞀�' */
+.uil-expand-left:before { content: '\e9ba'; } /* '瞀�' */
+.uil-expand-right:before { content: '\e9bb'; } /* '瞀�' */
+.uil-export:before { content: '\e9bc'; } /* '瞀�' */
+.uil-exposure-alt:before { content: '\e9bd'; } /* '瞀�' */
+.uil-exposure-increase:before { content: '\e9be'; } /* '瞀�' */
+.uil-external-link-alt:before { content: '\e9bf'; } /* '瞀�' */
+.uil-eye-slash:before { content: '\e9c0'; } /* '瞌€' */
+.uil-eye:before { content: '\e9c1'; } /* '瞌�' */
+.uil-facebook-f:before { content: '\e9c2'; } /* '瞌�' */
+.uil-facebook-messenger:before { content: '\e9c3'; } /* '瞌�' */
+.uil-facebook:before { content: '\e9c4'; } /* '瞌�' */
+.uil-fahrenheit:before { content: '\e9c5'; } /* '瞌�' */
+.uil-fast-mail-alt:before { content: '\e9c6'; } /* '瞌�' */
+.uil-fast-mail:before { content: '\e9c7'; } /* '瞌�' */
+.uil-favorite:before { content: '\e9c8'; } /* '瞌�' */
+.uil-feedback:before { content: '\e9c9'; } /* '瞌�' */
+.uil-file-alt:before { content: '\e9ca'; } /* '瞌�' */
+.uil-file-blank:before { content: '\e9cb'; } /* '瞌�' */
+.uil-file-block-alt:before { content: '\e9cc'; } /* '瞌�' */
+.uil-file-bookmark-alt:before { content: '\e9cd'; } /* '瞌�' */
+.uil-file-check-alt:before { content: '\e9ce'; } /* '瞌�' */
+.uil-file-check:before { content: '\e9cf'; } /* '瞌�' */
+.uil-file-contract-dollar:before { content: '\e9d0'; } /* '瞌�' */
+.uil-file-copy-alt:before { content: '\e9d1'; } /* '瞌�' */
+.uil-file-download-alt:before { content: '\e9d2'; } /* '瞌�' */
+.uil-file-download:before { content: '\e9d3'; } /* '瞌�' */
+.uil-file-edit-alt:before { content: '\e9d4'; } /* '瞌�' */
+.uil-file-exclamation-alt:before { content: '\e9d5'; } /* '瞌�' */
+.uil-file-exclamation:before { content: '\e9d6'; } /* '瞌�' */
+.uil-file-heart:before { content: '\e9d7'; } /* '瞌�' */
+.uil-file-info-alt:before { content: '\e9d8'; } /* '瞌�' */
+.uil-file-landscape-alt:before { content: '\e9d9'; } /* '瞌�' */
+.uil-file-landscape:before { content: '\e9da'; } /* '瞌�' */
+.uil-file-lanscape-slash:before { content: '\e9db'; } /* '瞌�' */
+.uil-file-lock-alt:before { content: '\e9dc'; } /* '瞌�' */
+.uil-file-medical-alt:before { content: '\e9dd'; } /* '瞌�' */
+.uil-file-medical:before { content: '\e9de'; } /* '瞌�' */
+.uil-file-minus-alt:before { content: '\e9df'; } /* '瞌�' */
+.uil-file-minus:before { content: '\e9e0'; } /* '瞌�' */
+.uil-file-network:before { content: '\e9e1'; } /* '瞌�' */
+.uil-file-plus-alt:before { content: '\e9e2'; } /* '瞌�' */
+.uil-file-plus:before { content: '\e9e3'; } /* '瞌�' */
+.uil-file-question-alt:before { content: '\e9e4'; } /* '瞌�' */
+.uil-file-question:before { content: '\e9e5'; } /* '瞌�' */
+.uil-file-redo-alt:before { content: '\e9e6'; } /* '瞌�' */
+.uil-file-search-alt:before { content: '\e9e7'; } /* '瞌�' */
+.uil-file-share-alt:before { content: '\e9e8'; } /* '瞌�' */
+.uil-file-shield-alt:before { content: '\e9e9'; } /* '瞌�' */
+.uil-file-slash:before { content: '\e9ea'; } /* '瞌�' */
+.uil-file-times-alt:before { content: '\e9eb'; } /* '瞌�' */
+.uil-file-times:before { content: '\e9ec'; } /* '瞌�' */
+.uil-file-upload-alt:before { content: '\e9ed'; } /* '瞌�' */
+.uil-file-upload:before { content: '\e9ee'; } /* '瞌�' */
+.uil-file:before { content: '\e9ef'; } /* '瞌�' */
+.uil-files-landscapes-alt:before { content: '\e9f0'; } /* '瞌�' */
+.uil-files-landscapes:before { content: '\e9f1'; } /* '瞌�' */
+.uil-film:before { content: '\e9f2'; } /* '瞌�' */
+.uil-filter-slash:before { content: '\e9f3'; } /* '瞌�' */
+.uil-filter:before { content: '\e9f4'; } /* '瞌�' */
+.uil-flask-potion:before { content: '\e9f5'; } /* '瞌�' */
+.uil-flask:before { content: '\e9f6'; } /* '瞌�' */
+.uil-flip-h-alt:before { content: '\e9f7'; } /* '瞌�' */
+.uil-flip-h:before { content: '\e9f8'; } /* '瞌�' */
+.uil-flip-v-alt:before { content: '\e9f9'; } /* '瞌�' */
+.uil-flip-v:before { content: '\e9fa'; } /* '瞌�' */
+.uil-flower:before { content: '\e9fb'; } /* '瞌�' */
+.uil-focus-add:before { content: '\e9fc'; } /* '瞌�' */
+.uil-focus-target:before { content: '\e9fd'; } /* '瞌�' */
+.uil-focus:before { content: '\e9fe'; } /* '瞌�' */
+.uil-folder-check:before { content: '\e9ff'; } /* '瞌�' */
+.uil-folder-download:before { content: '\ea00'; } /* '瞑€' */
+.uil-folder-exclamation:before { content: '\ea01'; } /* '瞑�' */
+.uil-folder-heart:before { content: '\ea02'; } /* '瞑�' */
+.uil-folder-info:before { content: '\ea03'; } /* '瞑�' */
+.uil-folder-lock:before { content: '\ea04'; } /* '瞑�' */
+.uil-folder-medical:before { content: '\ea05'; } /* '瞑�' */
+.uil-folder-minus:before { content: '\ea06'; } /* '瞑�' */
+.uil-folder-network:before { content: '\ea07'; } /* '瞑�' */
+.uil-folder-plus:before { content: '\ea08'; } /* '瞑�' */
+.uil-folder-question:before { content: '\ea09'; } /* '瞑�' */
+.uil-folder-slash:before { content: '\ea0a'; } /* '瞑�' */
+.uil-folder-times:before { content: '\ea0b'; } /* '瞑�' */
+.uil-folder-upload:before { content: '\ea0c'; } /* '瞑�' */
+.uil-folder:before { content: '\ea0d'; } /* '瞑�' */
+.uil-food:before { content: '\ea0e'; } /* '瞑�' */
+.uil-football-american:before { content: '\ea0f'; } /* '瞑�' */
+.uil-football-ball:before { content: '\ea10'; } /* '瞑�' */
+.uil-football:before { content: '\ea11'; } /* '瞑�' */
+.uil-forecastcloud-moon-tear:before { content: '\ea12'; } /* '瞑�' */
+.uil-forwaded-call:before { content: '\ea13'; } /* '瞑�' */
+.uil-forward:before { content: '\ea14'; } /* '瞑�' */
+.uil-frown:before { content: '\ea15'; } /* '瞑�' */
+.uil-game-structure:before { content: '\ea16'; } /* '瞑�' */
+.uil-game:before { content: '\ea17'; } /* '瞑�' */
+.uil-gift:before { content: '\ea18'; } /* '瞑�' */
+.uil-glass-martini-alt-slash:before { content: '\ea19'; } /* '瞑�' */
+.uil-glass-martini-alt:before { content: '\ea1a'; } /* '瞑�' */
+.uil-glass-martini:before { content: '\ea1b'; } /* '瞑�' */
+.uil-glass-tea:before { content: '\ea1c'; } /* '瞑�' */
+.uil-glass:before { content: '\ea1d'; } /* '瞑�' */
+.uil-globe:before { content: '\ea1e'; } /* '瞑�' */
+.uil-gold:before { content: '\ea1f'; } /* '瞑�' */
+.uil-google-drive:before { content: '\ea20'; } /* '瞑�' */
+.uil-graduation-hat:before { content: '\ea21'; } /* '瞑�' */
+.uil-graph-bar:before { content: '\ea22'; } /* '瞑�' */
+.uil-grid:before { content: '\ea23'; } /* '瞑�' */
+.uil-grids:before { content: '\ea24'; } /* '瞑�' */
+.uil-grin-tongue-wink-alt:before { content: '\ea25'; } /* '瞑�' */
+.uil-grin-tongue-wink:before { content: '\ea26'; } /* '瞑�' */
+.uil-grin:before { content: '\ea27'; } /* '瞑�' */
+.uil-grip-horizontal-line:before { content: '\ea28'; } /* '瞑�' */
+.uil-hdd:before { content: '\ea29'; } /* '瞑�' */
+.uil-headphones-alt:before { content: '\ea2a'; } /* '瞑�' */
+.uil-headphones:before { content: '\ea2b'; } /* '瞑�' */
+.uil-heart-alt:before { content: '\ea2c'; } /* '瞑�' */
+.uil-heart-medical:before { content: '\ea2d'; } /* '瞑�' */
+.uil-heart-rate:before { content: '\ea2e'; } /* '瞑�' */
+.uil-heart-sign:before { content: '\ea2f'; } /* '瞑�' */
+.uil-heart:before { content: '\ea30'; } /* '瞑�' */
+.uil-heartbeat:before { content: '\ea31'; } /* '瞑�' */
+.uil-history-alt:before { content: '\ea32'; } /* '瞑�' */
+.uil-history:before { content: '\ea33'; } /* '瞑�' */
+.uil-home-alt:before { content: '\ea34'; } /* '瞑�' */
+.uil-home:before { content: '\ea35'; } /* '瞑�' */
+.uil-horizontal-align-center:before { content: '\ea36'; } /* '瞑�' */
+.uil-horizontal-align-left:before { content: '\ea37'; } /* '瞑�' */
+.uil-horizontal-align-right:before { content: '\ea38'; } /* '瞑�' */
+.uil-horizontal-distribution-center:before { content: '\ea39'; } /* '瞑�' */
+.uil-horizontal-distribution-left:before { content: '\ea3a'; } /* '瞑�' */
+.uil-horizontal-distribution-right:before { content: '\ea3b'; } /* '瞑�' */
+.uil-hunting:before { content: '\ea3c'; } /* '瞑�' */
+.uil-image-alt-slash:before { content: '\ea3d'; } /* '瞑�' */
+.uil-image-block:before { content: '\ea3e'; } /* '瞑�' */
+.uil-image-broken:before { content: '\ea3f'; } /* '瞑�' */
+.uil-image-check:before { content: '\ea40'; } /* '瞟€' */
+.uil-image-download:before { content: '\ea41'; } /* '瞟�' */
+.uil-image-edit:before { content: '\ea42'; } /* '瞟�' */
+.uil-image-lock:before { content: '\ea43'; } /* '瞟�' */
+.uil-image-minus:before { content: '\ea44'; } /* '瞟�' */
+.uil-image-plus:before { content: '\ea45'; } /* '瞟�' */
+.uil-image-question:before { content: '\ea46'; } /* '瞟�' */
+.uil-image-redo:before { content: '\ea47'; } /* '瞟�' */
+.uil-image-resize-landscape:before { content: '\ea48'; } /* '瞟�' */
+.uil-image-resize-square:before { content: '\ea49'; } /* '瞟�' */
+.uil-image-search:before { content: '\ea4a'; } /* '瞟�' */
+.uil-image-share:before { content: '\ea4b'; } /* '瞟�' */
+.uil-image-shield:before { content: '\ea4c'; } /* '瞟�' */
+.uil-image-slash:before { content: '\ea4d'; } /* '瞟�' */
+.uil-image-times:before { content: '\ea4e'; } /* '瞟�' */
+.uil-image-upload:before { content: '\ea4f'; } /* '瞟�' */
+.uil-image-v:before { content: '\ea50'; } /* '瞟�' */
+.uil-image:before { content: '\ea51'; } /* '瞟�' */
+.uil-images:before { content: '\ea52'; } /* '瞟�' */
+.uil-incoming-call:before { content: '\ea53'; } /* '瞟�' */
+.uil-info-circle:before { content: '\ea54'; } /* '瞟�' */
+.uil-instagram-alt:before { content: '\ea55'; } /* '瞟�' */
+.uil-instagram:before { content: '\ea56'; } /* '瞟�' */
+.uil-intercom:before { content: '\ea57'; } /* '瞟�' */
+.uil-invoice:before { content: '\ea58'; } /* '瞟�' */
+.uil-italic:before { content: '\ea59'; } /* '瞟�' */
+.uil-jackhammer:before { content: '\ea5a'; } /* '瞟�' */
+.uil-kayak:before { content: '\ea5b'; } /* '瞟�' */
+.uil-key-skeleton-alt:before { content: '\ea5c'; } /* '瞟�' */
+.uil-key-skeleton:before { content: '\ea5d'; } /* '瞟�' */
+.uil-keyboard-alt:before { content: '\ea5e'; } /* '瞟�' */
+.uil-keyboard-hide:before { content: '\ea5f'; } /* '瞟�' */
+.uil-keyboard-show:before { content: '\ea60'; } /* '瞟�' */
+.uil-keyboard:before { content: '\ea61'; } /* '瞟�' */
+.uil-keyhole-circle:before { content: '\ea62'; } /* '瞟�' */
+.uil-keyhole-square-full:before { content: '\ea63'; } /* '瞟�' */
+.uil-keyhole-square:before { content: '\ea64'; } /* '瞟�' */
+.uil-kid:before { content: '\ea65'; } /* '瞟�' */
+.uil-label-alt:before { content: '\ea66'; } /* '瞟�' */
+.uil-label:before { content: '\ea67'; } /* '瞟�' */
+.uil-lamp:before { content: '\ea68'; } /* '瞟�' */
+.uil-laptop-cloud:before { content: '\ea69'; } /* '瞟�' */
+.uil-laptop:before { content: '\ea6a'; } /* '瞟�' */
+.uil-laughing:before { content: '\ea6b'; } /* '瞟�' */
+.uil-layer-group-slash:before { content: '\ea6c'; } /* '瞟�' */
+.uil-layer-group:before { content: '\ea6d'; } /* '瞟�' */
+.uil-layers-alt:before { content: '\ea6e'; } /* '瞟�' */
+.uil-layers-slash:before { content: '\ea6f'; } /* '瞟�' */
+.uil-layers:before { content: '\ea70'; } /* '瞟�' */
+.uil-left-arrow-from-left:before { content: '\ea71'; } /* '瞟�' */
+.uil-left-arrow-to-left:before { content: '\ea72'; } /* '瞟�' */
+.uil-left-indent-alt:before { content: '\ea73'; } /* '瞟�' */
+.uil-left-indent:before { content: '\ea74'; } /* '瞟�' */
+.uil-left-to-right-text-direction:before { content: '\ea75'; } /* '瞟�' */
+.uil-life-ring:before { content: '\ea76'; } /* '瞟�' */
+.uil-lightbulb-alt:before { content: '\ea77'; } /* '瞟�' */
+.uil-lightbulb:before { content: '\ea78'; } /* '瞟�' */
+.uil-line-alt:before { content: '\ea79'; } /* '瞟�' */
+.uil-line-spacing:before { content: '\ea7a'; } /* '瞟�' */
+.uil-line:before { content: '\ea7b'; } /* '瞟�' */
+.uil-link-alt:before { content: '\ea7c'; } /* '瞟�' */
+.uil-link-broken:before { content: '\ea7d'; } /* '瞟�' */
+.uil-link-h:before { content: '\ea7e'; } /* '瞟�' */
+.uil-link:before { content: '\ea7f'; } /* '瞟�' */
+.uil-linkedin:before { content: '\ea80'; } /* '瞠€' */
+.uil-list-ui-alt:before { content: '\ea81'; } /* '瞠�' */
+.uil-list-ul:before { content: '\ea82'; } /* '瞠�' */
+.uil-location-arrow-alt:before { content: '\ea83'; } /* '瞠�' */
+.uil-location-arrow:before { content: '\ea84'; } /* '瞠�' */
+.uil-location-pin-alt:before { content: '\ea85'; } /* '瞠�' */
+.uil-location-point:before { content: '\ea86'; } /* '瞠�' */
+.uil-location:before { content: '\ea87'; } /* '瞠�' */
+.uil-lock-access:before { content: '\ea88'; } /* '瞠�' */
+.uil-lock-alt:before { content: '\ea89'; } /* '瞠�' */
+.uil-lock-open-alt:before { content: '\ea8a'; } /* '瞠�' */
+.uil-lock-slash:before { content: '\ea8b'; } /* '瞠�' */
+.uil-lock:before { content: '\ea8c'; } /* '瞠�' */
+.uil-mailbox-alt:before { content: '\ea8d'; } /* '瞠�' */
+.uil-mailbox:before { content: '\ea8e'; } /* '瞠�' */
+.uil-map-marker-alt:before { content: '\ea8f'; } /* '瞠�' */
+.uil-map-marker-edit:before { content: '\ea90'; } /* '瞠�' */
+.uil-map-marker-info:before { content: '\ea91'; } /* '瞠�' */
+.uil-map-marker-minus:before { content: '\ea92'; } /* '瞠�' */
+.uil-map-marker-plus:before { content: '\ea93'; } /* '瞠�' */
+.uil-map-marker-question:before { content: '\ea94'; } /* '瞠�' */
+.uil-map-marker-shield:before { content: '\ea95'; } /* '瞠�' */
+.uil-map-marker-slash:before { content: '\ea96'; } /* '瞠�' */
+.uil-map-marker:before { content: '\ea97'; } /* '瞠�' */
+.uil-map-pin-alt:before { content: '\ea98'; } /* '瞠�' */
+.uil-map-pin:before { content: '\ea99'; } /* '瞠�' */
+.uil-map:before { content: '\ea9a'; } /* '瞠�' */
+.uil-mars:before { content: '\ea9b'; } /* '瞠�' */
+.uil-maximize-left:before { content: '\ea9c'; } /* '瞠�' */
+.uil-medal:before { content: '\ea9d'; } /* '瞠�' */
+.uil-medical-drip:before { content: '\ea9e'; } /* '瞠�' */
+.uil-medical-square-full:before { content: '\ea9f'; } /* '瞠�' */
+.uil-medical-square:before { content: '\eaa0'; } /* '瞠�' */
+.uil-medical:before { content: '\eaa1'; } /* '瞠�' */
+.uil-medkit:before { content: '\eaa2'; } /* '瞠�' */
+.uil-meeting-board:before { content: '\eaa3'; } /* '瞠�' */
+.uil-meh-alt:before { content: '\eaa4'; } /* '瞠�' */
+.uil-meh-closed-eye:before { content: '\eaa5'; } /* '瞠�' */
+.uil-meh:before { content: '\eaa6'; } /* '瞠�' */
+.uil-message:before { content: '\eaa7'; } /* '瞠�' */
+.uil-microphone-slash:before { content: '\eaa8'; } /* '瞠�' */
+.uil-microphone:before { content: '\eaa9'; } /* '瞠�' */
+.uil-minus-circle:before { content: '\eaaa'; } /* '瞠�' */
+.uil-minus-path:before { content: '\eaab'; } /* '瞠�' */
+.uil-minus-square-full:before { content: '\eaac'; } /* '瞠�' */
+.uil-minus-square:before { content: '\eaad'; } /* '瞠�' */
+.uil-minus:before { content: '\eaae'; } /* '瞠�' */
+.uil-missed-call:before { content: '\eaaf'; } /* '瞠�' */
+.uil-mobey-bill-slash:before { content: '\eab0'; } /* '瞠�' */
+.uil-mobile-android-alt:before { content: '\eab1'; } /* '瞠�' */
+.uil-mobile-android:before { content: '\eab2'; } /* '瞠�' */
+.uil-mobile-vibrate:before { content: '\eab3'; } /* '瞠�' */
+.uil-modem:before { content: '\eab4'; } /* '瞠�' */
+.uil-money-bill-stack:before { content: '\eab5'; } /* '瞠�' */
+.uil-money-bill:before { content: '\eab6'; } /* '瞠�' */
+.uil-money-insert:before { content: '\eab7'; } /* '瞠�' */
+.uil-money-stack:before { content: '\eab8'; } /* '瞠�' */
+.uil-money-withdraw:before { content: '\eab9'; } /* '瞠�' */
+.uil-money-withdrawal:before { content: '\eaba'; } /* '瞠�' */
+.uil-moneybag-alt:before { content: '\eabb'; } /* '瞠�' */
+.uil-moneybag:before { content: '\eabc'; } /* '瞠�' */
+.uil-monitor-heart-rate:before { content: '\eabd'; } /* '瞠�' */
+.uil-monitor:before { content: '\eabe'; } /* '瞠�' */
+.uil-moon-eclipse:before { content: '\eabf'; } /* '瞠�' */
+.uil-moon:before { content: '\eac0'; } /* '瞰€' */
+.uil-moonset:before { content: '\eac1'; } /* '瞰�' */
+.uil-mountains-sun:before { content: '\eac2'; } /* '瞰�' */
+.uil-mountains:before { content: '\eac3'; } /* '瞰�' */
+.uil-mouse-alt:before { content: '\eac4'; } /* '瞰�' */
+.uil-mouse:before { content: '\eac5'; } /* '瞰�' */
+.uil-multiply:before { content: '\eac6'; } /* '瞰�' */
+.uil-music-note:before { content: '\eac7'; } /* '瞰�' */
+.uil-music-tune-slash:before { content: '\eac8'; } /* '瞰�' */
+.uil-music:before { content: '\eac9'; } /* '瞰�' */
+.uil-n-a:before { content: '\eaca'; } /* '瞰�' */
+.uil-navigator:before { content: '\eacb'; } /* '瞰�' */
+.uil-nerd:before { content: '\eacc'; } /* '瞰�' */
+.uil-newspaper:before { content: '\eacd'; } /* '瞰�' */
+.uil-ninja:before { content: '\eace'; } /* '瞰�' */
+.uil-no-entry:before { content: '\eacf'; } /* '瞰�' */
+.uil-notebooks:before { content: '\ead0'; } /* '瞰�' */
+.uil-notes:before { content: '\ead1'; } /* '瞰�' */
+.uil-object-group:before { content: '\ead2'; } /* '瞰�' */
+.uil-object-ungroup:before { content: '\ead3'; } /* '瞰�' */
+.uil-octagon:before { content: '\ead4'; } /* '瞰�' */
+.uil-outgoing-call:before { content: '\ead5'; } /* '瞰�' */
+.uil-package:before { content: '\ead6'; } /* '瞰�' */
+.uil-padlock:before { content: '\ead7'; } /* '瞰�' */
+.uil-paint-tool:before { content: '\ead8'; } /* '瞰�' */
+.uil-palette:before { content: '\ead9'; } /* '瞰�' */
+.uil-panorama-h-alt:before { content: '\eada'; } /* '瞰�' */
+.uil-panorama-h:before { content: '\eadb'; } /* '瞰�' */
+.uil-panorama-v:before { content: '\eadc'; } /* '瞰�' */
+.uil-paperclip:before { content: '\eadd'; } /* '瞰�' */
+.uil-paragraph:before { content: '\eade'; } /* '瞰�' */
+.uil-parcel:before { content: '\eadf'; } /* '瞰�' */
+.uil-parking-square:before { content: '\eae0'; } /* '瞰�' */
+.uil-pathfinder-unite:before { content: '\eae1'; } /* '瞰�' */
+.uil-pathfinder:before { content: '\eae2'; } /* '瞰�' */
+.uil-pause-circle:before { content: '\eae3'; } /* '瞰�' */
+.uil-pause:before { content: '\eae4'; } /* '瞰�' */
+.uil-pen:before { content: '\eae5'; } /* '瞰�' */
+.uil-pentagon:before { content: '\eae6'; } /* '瞰�' */
+.uil-phone-alt:before { content: '\eae7'; } /* '瞰�' */
+.uil-phone-pause:before { content: '\eae8'; } /* '瞰�' */
+.uil-phone-slash:before { content: '\eae9'; } /* '瞰�' */
+.uil-phone-times:before { content: '\eaea'; } /* '瞰�' */
+.uil-phone-volume:before { content: '\eaeb'; } /* '瞰�' */
+.uil-phone:before { content: '\eaec'; } /* '瞰�' */
+.uil-picture:before { content: '\eaed'; } /* '瞰�' */
+.uil-plane-arrival:before { content: '\eaee'; } /* '瞰�' */
+.uil-plane-departure:before { content: '\eaef'; } /* '瞰�' */
+.uil-plane-fly:before { content: '\eaf0'; } /* '瞰�' */
+.uil-plane:before { content: '\eaf1'; } /* '瞰�' */
+.uil-play-circle:before { content: '\eaf2'; } /* '瞰�' */
+.uil-play:before { content: '\eaf3'; } /* '瞰�' */
+.uil-plug:before { content: '\eaf4'; } /* '瞰�' */
+.uil-plus-circle:before { content: '\eaf5'; } /* '瞰�' */
+.uil-plus-square:before { content: '\eaf6'; } /* '瞰�' */
+.uil-plus:before { content: '\eaf7'; } /* '瞰�' */
+.uil-podium:before { content: '\eaf8'; } /* '瞰�' */
+.uil-polygon:before { content: '\eaf9'; } /* '瞰�' */
+.uil-post-stamp:before { content: '\eafa'; } /* '瞰�' */
+.uil-postcard:before { content: '\eafb'; } /* '瞰�' */
+.uil-pound-circle:before { content: '\eafc'; } /* '瞰�' */
+.uil-pound:before { content: '\eafd'; } /* '瞰�' */
+.uil-power:before { content: '\eafe'; } /* '瞰�' */
+.uil-prescription-bottle:before { content: '\eaff'; } /* '瞰�' */
+.uil-presentation-check:before { content: '\eb00'; } /* '瞵€' */
+.uil-presentation-edit:before { content: '\eb01'; } /* '瞵�' */
+.uil-presentation-line:before { content: '\eb02'; } /* '瞵�' */
+.uil-presentation-lines-alt:before { content: '\eb03'; } /* '瞵�' */
+.uil-presentation-minus:before { content: '\eb04'; } /* '瞵�' */
+.uil-presentation-play:before { content: '\eb05'; } /* '瞵�' */
+.uil-presentation-plus:before { content: '\eb06'; } /* '瞵�' */
+.uil-presentation-times:before { content: '\eb07'; } /* '瞵�' */
+.uil-presentation:before { content: '\eb08'; } /* '瞵�' */
+.uil-previous:before { content: '\eb09'; } /* '瞵�' */
+.uil-pricetag-alt:before { content: '\eb0a'; } /* '瞵�' */
+.uil-print-slash:before { content: '\eb0b'; } /* '瞵�' */
+.uil-print:before { content: '\eb0c'; } /* '瞵�' */
+.uil-processor:before { content: '\eb0d'; } /* '瞵�' */
+.uil-pump:before { content: '\eb0e'; } /* '瞵�' */
+.uil-puzzle-piece:before { content: '\eb0f'; } /* '瞵�' */
+.uil-question-circle:before { content: '\eb10'; } /* '瞵�' */
+.uil-rainbow:before { content: '\eb11'; } /* '瞵�' */
+.uil-raindrops-alt:before { content: '\eb12'; } /* '瞵�' */
+.uil-raindrops:before { content: '\eb13'; } /* '瞵�' */
+.uil-receipt-alt:before { content: '\eb14'; } /* '瞵�' */
+.uil-receipt:before { content: '\eb15'; } /* '瞵�' */
+.uil-record-audio:before { content: '\eb16'; } /* '瞵�' */
+.uil-redo:before { content: '\eb17'; } /* '瞵�' */
+.uil-refresh:before { content: '\eb18'; } /* '瞵�' */
+.uil-registered:before { content: '\eb19'; } /* '瞵�' */
+.uil-repeat:before { content: '\eb1a'; } /* '瞵�' */
+.uil-restaurant:before { content: '\eb1b'; } /* '瞵�' */
+.uil-right-indent-alt:before { content: '\eb1c'; } /* '瞵�' */
+.uil-right-to-left-text-direction:before { content: '\eb1d'; } /* '瞵�' */
+.uil-robot:before { content: '\eb1e'; } /* '瞵�' */
+.uil-rope-way:before { content: '\eb1f'; } /* '瞵�' */
+.uil-rotate-360:before { content: '\eb20'; } /* '瞵�' */
+.uil-rss-alt:before { content: '\eb21'; } /* '瞵�' */
+.uil-rss-interface:before { content: '\eb22'; } /* '瞵�' */
+.uil-rss:before { content: '\eb23'; } /* '瞵�' */
+.uil-ruler-combined:before { content: '\eb24'; } /* '瞵�' */
+.uil-ruler:before { content: '\eb25'; } /* '瞵�' */
+.uil-sad-cry:before { content: '\eb26'; } /* '瞵�' */
+.uil-sad-crying:before { content: '\eb27'; } /* '瞵�' */
+.uil-sad-dizzy:before { content: '\eb28'; } /* '瞵�' */
+.uil-sad-squint:before { content: '\eb29'; } /* '瞵�' */
+.uil-sad:before { content: '\eb2a'; } /* '瞵�' */
+.uil-scaling-left:before { content: '\eb2b'; } /* '瞵�' */
+.uil-scaling-right:before { content: '\eb2c'; } /* '瞵�' */
+.uil-scenery:before { content: '\eb2d'; } /* '瞵�' */
+.uil-schedule:before { content: '\eb2e'; } /* '瞵�' */
+.uil-science:before { content: '\eb2f'; } /* '瞵�' */
+.uil-screw:before { content: '\eb30'; } /* '瞵�' */
+.uil-scroll-h:before { content: '\eb31'; } /* '瞵�' */
+.uil-scroll:before { content: '\eb32'; } /* '瞵�' */
+.uil-search-alt:before { content: '\eb33'; } /* '瞵�' */
+.uil-search-minus:before { content: '\eb34'; } /* '瞵�' */
+.uil-search-plus:before { content: '\eb35'; } /* '瞵�' */
+.uil-search:before { content: '\eb36'; } /* '瞵�' */
+.uil-selfie:before { content: '\eb37'; } /* '瞵�' */
+.uil-server-alt:before { content: '\eb38'; } /* '瞵�' */
+.uil-server-connection:before { content: '\eb39'; } /* '瞵�' */
+.uil-server-network-alt:before { content: '\eb3a'; } /* '瞵�' */
+.uil-server-network:before { content: '\eb3b'; } /* '瞵�' */
+.uil-server:before { content: '\eb3c'; } /* '瞵�' */
+.uil-servers:before { content: '\eb3d'; } /* '瞵�' */
+.uil-servicemark:before { content: '\eb3e'; } /* '瞵�' */
+.uil-share-alt:before { content: '\eb3f'; } /* '瞵�' */
+.uil-shield-check:before { content: '\eb40'; } /* '瞽€' */
+.uil-shield-exclamation:before { content: '\eb41'; } /* '瞽�' */
+.uil-shield-question:before { content: '\eb42'; } /* '瞽�' */
+.uil-shield-slash:before { content: '\eb43'; } /* '瞽�' */
+.uil-shield:before { content: '\eb44'; } /* '瞽�' */
+.uil-ship:before { content: '\eb45'; } /* '瞽�' */
+.uil-shop:before { content: '\eb46'; } /* '瞽�' */
+.uil-shopping-basket:before { content: '\eb47'; } /* '瞽�' */
+.uil-shopping-cart-alt:before { content: '\eb48'; } /* '瞽�' */
+.uil-shopping-trolley:before { content: '\eb49'; } /* '瞽�' */
+.uil-shovel:before { content: '\eb4a'; } /* '瞽�' */
+.uil-shrink:before { content: '\eb4b'; } /* '瞽�' */
+.uil-shuffle:before { content: '\eb4c'; } /* '瞽�' */
+.uil-shutter-alt:before { content: '\eb4d'; } /* '瞽�' */
+.uil-shutter:before { content: '\eb4e'; } /* '瞽�' */
+.uil-sick:before { content: '\eb4f'; } /* '瞽�' */
+.uil-sigma:before { content: '\eb50'; } /* '瞽�' */
+.uil-sign-alt:before { content: '\eb51'; } /* '瞽�' */
+.uil-sign-in-alt:before { content: '\eb52'; } /* '瞽�' */
+.uil-sign-left:before { content: '\eb53'; } /* '瞽�' */
+.uil-sign-out-alt:before { content: '\eb54'; } /* '瞽�' */
+.uil-sign-right:before { content: '\eb55'; } /* '瞽�' */
+.uil-signal-alt-3:before { content: '\eb56'; } /* '瞽�' */
+.uil-signal-alt:before { content: '\eb57'; } /* '瞽�' */
+.uil-signal:before { content: '\eb58'; } /* '瞽�' */
+.uil-silence:before { content: '\eb59'; } /* '瞽�' */
+.uil-silent-squint:before { content: '\eb5a'; } /* '瞽�' */
+.uil-sim-card:before { content: '\eb5b'; } /* '瞽�' */
+.uil-sitemap:before { content: '\eb5c'; } /* '瞽�' */
+.uil-skip-forward-alt:before { content: '\eb5d'; } /* '瞽�' */
+.uil-skip-forward-circle:before { content: '\eb5e'; } /* '瞽�' */
+.uil-skip-forward:before { content: '\eb5f'; } /* '瞽�' */
+.uil-slack:before { content: '\eb60'; } /* '瞽�' */
+.uil-sliders-v-alt:before { content: '\eb61'; } /* '瞽�' */
+.uil-sliders-v:before { content: '\eb62'; } /* '瞽�' */
+.uil-smile-beam:before { content: '\eb63'; } /* '瞽�' */
+.uil-smile-dizzy:before { content: '\eb64'; } /* '瞽�' */
+.uil-smile-squint-wink-alt:before { content: '\eb65'; } /* '瞽�' */
+.uil-smile-squint-wink:before { content: '\eb66'; } /* '瞽�' */
+.uil-smile-wink-alt:before { content: '\eb67'; } /* '瞽�' */
+.uil-smile-wink:before { content: '\eb68'; } /* '瞽�' */
+.uil-smile:before { content: '\eb69'; } /* '瞽�' */
+.uil-snow-flake:before { content: '\eb6c'; } /* '瞽�' */
+.uil-snowflake-alt:before { content: '\eb6d'; } /* '瞽�' */
+.uil-snowflake:before { content: '\eb6e'; } /* '瞽�' */
+.uil-sort-amount-down:before { content: '\eb6f'; } /* '瞽�' */
+.uil-sort-amount-up:before { content: '\eb70'; } /* '瞽�' */
+.uil-sort:before { content: '\eb71'; } /* '瞽�' */
+.uil-sorting:before { content: '\eb72'; } /* '瞽�' */
+.uil-space-key:before { content: '\eb73'; } /* '瞽�' */
+.uil-spade:before { content: '\eb74'; } /* '瞽�' */
+.uil-sperms:before { content: '\eb75'; } /* '瞽�' */
+.uil-spin:before { content: '\eb76'; } /* '瞽�' */
+.uil-sport:before { content: '\eb77'; } /* '瞽�' */
+.uil-square-full:before { content: '\eb78'; } /* '瞽�' */
+.uil-square-shape:before { content: '\eb79'; } /* '瞽�' */
+.uil-square:before { content: '\eb7a'; } /* '瞽�' */
+.uil-squint:before { content: '\eb7b'; } /* '瞽�' */
+.uil-star-half-alt:before { content: '\eb7c'; } /* '瞽�' */
+.uil-star:before { content: '\eb7d'; } /* '瞽�' */
+.uil-step-backward-alt:before { content: '\eb7e'; } /* '瞽�' */
+.uil-step-backward-circle:before { content: '\eb7f'; } /* '瞽�' */
+.uil-step-backward:before { content: '\eb80'; } /* '町€' */
+.uil-step-forward:before { content: '\eb81'; } /* '町�' */
+.uil-stop-circle:before { content: '\eb82'; } /* '町�' */
+.uil-stopwatch-slash:before { content: '\eb83'; } /* '町�' */
+.uil-stopwatch:before { content: '\eb84'; } /* '町�' */
+.uil-store-alt:before { content: '\eb85'; } /* '町�' */
+.uil-store:before { content: '\eb86'; } /* '町�' */
+.uil-streering:before { content: '\eb87'; } /* '町�' */
+.uil-stretcher:before { content: '\eb88'; } /* '町�' */
+.uil-subject:before { content: '\eb89'; } /* '町�' */
+.uil-subway-alt:before { content: '\eb8a'; } /* '町�' */
+.uil-subway:before { content: '\eb8b'; } /* '町�' */
+.uil-suitcase-alt:before { content: '\eb8c'; } /* '町�' */
+.uil-suitcase:before { content: '\eb8d'; } /* '町�' */
+.uil-sun:before { content: '\eb8e'; } /* '町�' */
+.uil-sunset:before { content: '\eb8f'; } /* '町�' */
+.uil-surprise:before { content: '\eb90'; } /* '町�' */
+.uil-swatchbook:before { content: '\eb91'; } /* '町�' */
+.uil-swimmer:before { content: '\eb92'; } /* '町�' */
+.uil-symbol:before { content: '\eb93'; } /* '町�' */
+.uil-sync-exclamation:before { content: '\eb94'; } /* '町�' */
+.uil-sync-slash:before { content: '\eb95'; } /* '町�' */
+.uil-sync:before { content: '\eb96'; } /* '町�' */
+.uil-syringe:before { content: '\eb97'; } /* '町�' */
+.uil-table:before { content: '\eb98'; } /* '町�' */
+.uil-tablet:before { content: '\eb99'; } /* '町�' */
+.uil-tablets:before { content: '\eb9a'; } /* '町�' */
+.uil-tachometer-fast:before { content: '\eb9b'; } /* '町�' */
+.uil-tag-alt:before { content: '\eb9c'; } /* '町�' */
+.uil-tag:before { content: '\eb9d'; } /* '町�' */
+.uil-tape:before { content: '\eb9e'; } /* '町�' */
+.uil-taxi:before { content: '\eb9f'; } /* '町�' */
+.uil-tear:before { content: '\eba0'; } /* '町�' */
+.uil-technology:before { content: '\eba1'; } /* '町�' */
+.uil-telescope:before { content: '\eba2'; } /* '町�' */
+.uil-temperature-empty:before { content: '\eba3'; } /* '町�' */
+.uil-temperature-half:before { content: '\eba4'; } /* '町�' */
+.uil-temperature-minus:before { content: '\eba5'; } /* '町�' */
+.uil-temperature-plus:before { content: '\eba6'; } /* '町�' */
+.uil-temperature-quarter:before { content: '\eba7'; } /* '町�' */
+.uil-temperature-three-quarter:before { content: '\eba8'; } /* '町�' */
+.uil-temperature:before { content: '\eba9'; } /* '町�' */
+.uil-text-fields:before { content: '\ebaa'; } /* '町�' */
+.uil-text-size:before { content: '\ebab'; } /* '町�' */
+.uil-text-strike-through:before { content: '\ebac'; } /* '町�' */
+.uil-text:before { content: '\ebad'; } /* '町�' */
+.uil-th-large:before { content: '\ebae'; } /* '町�' */
+.uil-th-slash:before { content: '\ebaf'; } /* '町�' */
+.uil-th:before { content: '\ebb0'; } /* '町�' */
+.uil-thermometer:before { content: '\ebb1'; } /* '町�' */
+.uil-thumbs-down:before { content: '\ebb2'; } /* '町�' */
+.uil-thumbs-up:before { content: '\ebb3'; } /* '町�' */
+.uil-thunderstorm-moon:before { content: '\ebb4'; } /* '町�' */
+.uil-thunderstorm-sun:before { content: '\ebb5'; } /* '町�' */
+.uil-thunderstorm:before { content: '\ebb6'; } /* '町�' */
+.uil-ticket:before { content: '\ebb7'; } /* '町�' */
+.uil-times-circle:before { content: '\ebb8'; } /* '町�' */
+.uil-times-square:before { content: '\ebb9'; } /* '町�' */
+.uil-times:before { content: '\ebba'; } /* '町�' */
+.uil-toggle-off:before { content: '\ebbb'; } /* '町�' */
+.uil-toggle-on:before { content: '\ebbc'; } /* '町�' */
+.uil-top-arrow-from-top:before { content: '\ebbd'; } /* '町�' */
+.uil-top-arrow-to-top:before { content: '\ebbe'; } /* '町�' */
+.uil-tornado:before { content: '\ebbf'; } /* '町�' */
+.uil-trademark-circle:before { content: '\ebc0'; } /* '畀€' */
+.uil-trademark:before { content: '\ebc1'; } /* '畀�' */
+.uil-traffic-barrier:before { content: '\ebc2'; } /* '畀�' */
+.uil-trash-alt:before { content: '\ebc3'; } /* '畀�' */
+.uil-trash:before { content: '\ebc4'; } /* '畀�' */
+.uil-trees:before { content: '\ebc5'; } /* '畀�' */
+.uil-triangle:before { content: '\ebc6'; } /* '畀�' */
+.uil-trophy:before { content: '\ebc7'; } /* '畀�' */
+.uil-trowel:before { content: '\ebc8'; } /* '畀�' */
+.uil-truck-case:before { content: '\ebc9'; } /* '畀�' */
+.uil-truck-loading:before { content: '\ebca'; } /* '畀�' */
+.uil-truck:before { content: '\ebcb'; } /* '畀�' */
+.uil-tumblr-square:before { content: '\ebcc'; } /* '畀�' */
+.uil-tumblr:before { content: '\ebcd'; } /* '畀�' */
+.uil-tv-retro-slash:before { content: '\ebce'; } /* '畀�' */
+.uil-tv-retro:before { content: '\ebcf'; } /* '畀�' */
+.uil-twitter:before { content: '\ebd0'; } /* '畀�' */
+.uil-umbrella:before { content: '\ebd1'; } /* '畀�' */
+.uil-unamused:before { content: '\ebd2'; } /* '畀�' */
+.uil-underline:before { content: '\ebd3'; } /* '畀�' */
+.uil-unlock-alt:before { content: '\ebd4'; } /* '畀�' */
+.uil-unlock:before { content: '\ebd5'; } /* '畀�' */
+.uil-upload-alt:before { content: '\ebd6'; } /* '畀�' */
+.uil-upload:before { content: '\ebd7'; } /* '畀�' */
+.uil-usd-circle:before { content: '\ebd8'; } /* '畀�' */
+.uil-usd-square:before { content: '\ebd9'; } /* '畀�' */
+.uil-user-check:before { content: '\ebda'; } /* '畀�' */
+.uil-user-circle:before { content: '\ebdb'; } /* '畀�' */
+.uil-user-exclamation:before { content: '\ebdc'; } /* '畀�' */
+.uil-user-hard-hat:before { content: '\ebdd'; } /* '畀�' */
+.uil-user-minus:before { content: '\ebde'; } /* '畀�' */
+.uil-user-plus:before { content: '\ebdf'; } /* '畀�' */
+.uil-user-square:before { content: '\ebe0'; } /* '畀�' */
+.uil-user-times:before { content: '\ebe1'; } /* '畀�' */
+.uil-user:before { content: '\ebe2'; } /* '畀�' */
+.uil-users-alt:before { content: '\ebe3'; } /* '畀�' */
+.uil-utensils-alt:before { content: '\ebe4'; } /* '畀�' */
+.uil-utensils:before { content: '\ebe5'; } /* '畀�' */
+.uil-vector-square-alt:before { content: '\ebe6'; } /* '畀�' */
+.uil-vector-square:before { content: '\ebe7'; } /* '畀�' */
+.uil-venus:before { content: '\ebe8'; } /* '畀�' */
+.uil-vertical-align-bottom:before { content: '\ebe9'; } /* '畀�' */
+.uil-vertical-align-center:before { content: '\ebea'; } /* '畀�' */
+.uil-vertical-align-top:before { content: '\ebeb'; } /* '畀�' */
+.uil-vertical-distribute-bottom:before { content: '\ebec'; } /* '畀�' */
+.uil-vertical-distribution-center:before { content: '\ebed'; } /* '畀�' */
+.uil-vertical-distribution-top:before { content: '\ebee'; } /* '畀�' */
+.uil-video-slash:before { content: '\ebef'; } /* '畀�' */
+.uil-video:before { content: '\ebf0'; } /* '畀�' */
+.uil-visual-studio:before { content: '\ebf1'; } /* '畀�' */
+.uil-voicemail-rectangle:before { content: '\ebf2'; } /* '畀�' */
+.uil-voicemail:before { content: '\ebf3'; } /* '畀�' */
+.uil-volleyball:before { content: '\ebf4'; } /* '畀�' */
+.uil-volume-down:before { content: '\ebf5'; } /* '畀�' */
+.uil-volume-mute:before { content: '\ebf6'; } /* '畀�' */
+.uil-volume-off:before { content: '\ebf7'; } /* '畀�' */
+.uil-volume-up:before { content: '\ebf8'; } /* '畀�' */
+.uil-volume:before { content: '\ebf9'; } /* '畀�' */
+.uil-wall:before { content: '\ebfa'; } /* '畀�' */
+.uil-wallet:before { content: '\ebfb'; } /* '畀�' */
+.uil-watch-alt:before { content: '\ebfc'; } /* '畀�' */
+.uil-watch:before { content: '\ebfd'; } /* '畀�' */
+.uil-water-drop-slash:before { content: '\ebfe'; } /* '畀�' */
+.uil-water-glass:before { content: '\ebff'; } /* '畀�' */
+.uil-water:before { content: '\ec00'; } /* '畎€' */
+.uil-web-grid-alt:before { content: '\ec01'; } /* '畎�' */
+.uil-web-grid:before { content: '\ec02'; } /* '畎�' */
+.uil-web-section-alt:before { content: '\ec03'; } /* '畎�' */
+.uil-web-section:before { content: '\ec04'; } /* '畎�' */
+.uil-webcam:before { content: '\ec05'; } /* '畎�' */
+.uil-weight:before { content: '\ec06'; } /* '畎�' */
+.uil-whatsapp:before { content: '\ec07'; } /* '畎�' */
+.uil-wheel-barrow:before { content: '\ec08'; } /* '畎�' */
+.uil-wheelchair-alt:before { content: '\ec09'; } /* '畎�' */
+.uil-wheelchair:before { content: '\ec0a'; } /* '畎�' */
+.uil-wifi-router:before { content: '\ec0b'; } /* '畎�' */
+.uil-wifi-slash:before { content: '\ec0c'; } /* '畎�' */
+.uil-wifi:before { content: '\ec0d'; } /* '畎�' */
+.uil-wind:before { content: '\ec0e'; } /* '畎�' */
+.uil-window-grid:before { content: '\ec0f'; } /* '畎�' */
+.uil-window-maximize:before { content: '\ec10'; } /* '畎�' */
+.uil-window-restore:before { content: '\ec11'; } /* '畎�' */
+.uil-window-section:before { content: '\ec12'; } /* '畎�' */
+.uil-window:before { content: '\ec13'; } /* '畎�' */
+.uil-windsock:before { content: '\ec14'; } /* '畎�' */
+.uil-wrap-text:before { content: '\ec15'; } /* '畎�' */
+.uil-wrench:before { content: '\ec16'; } /* '畎�' */
+.uil-yellow:before { content: '\ec17'; } /* '畎�' */
+.uil-yen-circle:before { content: '\ec18'; } /* '畎�' */
+.uil-yen:before { content: '\ec19'; } /* '畎�' */
+.uil-youtube-alt:before { content: '\ec1a'; } /* '畎�' */
+.uil-youtube:before { content: '\ec1b'; } /* '畎�' */
\ No newline at end of file
diff --git a/css/waline.css b/css/waline.css
new file mode 100644
index 0000000..4fadbfe
--- /dev/null
+++ b/css/waline.css
@@ -0,0 +1,1354 @@
+:root {
+ --waline-font-size : 1rem;
+ --waline-white : #fff;
+ --waline-light-grey : #999;
+ --waline-dark-grey : #666;
+ --waline-theme-color : #000000;
+ --waline-active-color : #2ecc71;
+ --waline-color : #444;
+ --waline-bgcolor : #fff;
+ --waline-bgcolor-light : #f8f8f8;
+ --waline-bgcolor-hover : #f0f0f0;
+ --waline-border-color : #000000;
+ --waline-disable-bgcolor: #f8f8f8;
+ --waline-disable-color : #000;
+ --waline-code-bgcolor : #282c34;
+ --waline-bq-color : #f0f0f0;
+ --waline-avatar-size : 3.25rem;
+ --waline-m-avatar-size : calc(var(--waline-avatar-size) * 9 / 13);
+ --waline-badge-color : #000000;
+ --waline-badge-font-size: 0.75em;
+ --waline-info-bgcolor : #f8f8f8;
+ --waline-info-color : #999;
+ --waline-info-font-size : 0.625em;
+ --waline-border : 1px solid var(--waline-border-color);
+ --waline-avatar-radius : 50%;
+ --waline-box-shadow : none
+}
+
+[data-waline] {
+ font-size : var(--waline-font-size);
+ text-align: start
+}
+
+[dir=rtl] [data-waline] {
+ direction: rtl
+}
+
+[data-waline] * {
+ box-sizing : content-box;
+ line-height: 1.75
+}
+
+[data-waline] p {
+ color: var(--waline-color)
+}
+
+[data-waline] a {
+ position : relative;
+ display : inline-block;
+ color : var(--waline-theme-color);
+ text-decoration: none;
+ word-break : break-word;
+ cursor : pointer
+}
+
+[data-waline] a:hover {
+ color: var(--waline-active-color)
+}
+
+[data-waline] img {
+ max-width : 100%;
+ max-height: 400px;
+ border : none
+}
+
+[data-waline] hr {
+ margin : .825em 0;
+ border-style: dashed;
+ border-color: var(--waline-bgcolor-light)
+}
+
+[data-waline] code,
+[data-waline] pre {
+ margin : 0;
+ padding : .2em .4em;
+ border-radius: 3px;
+ background : var(--waline-bgcolor-light);
+ font-size : 85%
+}
+
+[data-waline] pre {
+ overflow : auto;
+ padding : 10px;
+ line-height: 1.45
+}
+
+[data-waline] pre::-webkit-scrollbar {
+ width : 6px;
+ height: 6px
+}
+
+[data-waline] pre::-webkit-scrollbar-track-piece:horizontal {
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : rgba(0, 0, 0, .1)
+}
+
+[data-waline] pre::-webkit-scrollbar-thumb:horizontal {
+ width : 6px;
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : var(--waline-theme-color)
+}
+
+[data-waline] pre code {
+ padding : 0;
+ background : rgba(0, 0, 0, 0);
+ color : var(--waline-color);
+ white-space: pre-wrap;
+ word-break : keep-all
+}
+
+[data-waline] blockquote {
+ margin : .5em 0;
+ padding : .5em 0 .5em 1em;
+ border-inline-start: 8px solid var(--waline-bq-color);
+ color : var(--waline-dark-grey)
+}
+
+[data-waline] blockquote>p {
+ margin: 0
+}
+
+[data-waline] ol,
+[data-waline] ul {
+ margin-inline-start: 1.25em;
+ padding : 0
+}
+
+[data-waline] input[type=checkbox],
+[data-waline] input[type=radio] {
+ display : inline-block;
+ vertical-align: middle;
+ margin-top : -2px
+}
+
+.wl-btn {
+ display : inline-block;
+ vertical-align : middle;
+ min-width : 2.5em;
+ margin-bottom : 0;
+ padding : .5em 1em;
+ border : 1px solid var(--waline-border-color);
+ border-radius : .5em;
+ background : rgba(0, 0, 0, 0);
+ color : var(--waline-color);
+ font-weight : 400;
+ font-size : .75em;
+ line-height : 1.5;
+ text-align : center;
+ white-space : nowrap;
+ cursor : pointer;
+ user-select : none;
+ transition-duration: .4s;
+ touch-action : manipulation
+}
+
+.wl-btn:hover,
+.wl-btn:active {
+ border-color: var(--waline-theme-color);
+ color : var(--waline-theme-color)
+}
+
+.wl-btn:disabled {
+ border-color: var(--waline-border-color);
+ background : var(--waline-disable-bgcolor);
+ color : var(--waline-disable-color);
+ cursor : not-allowed
+}
+
+.wl-btn.primary {
+ border-color: var(--waline-theme-color);
+ background : var(--waline-theme-color);
+ color : var(--waline-white)
+}
+
+.wl-btn.primary:hover,
+.wl-btn.primary:active {
+ border-color: var(--waline-active-color);
+ background : var(--waline-active-color);
+ color : var(--waline-white)
+}
+
+.wl-btn.primary:disabled {
+ border-color: var(--waline-border-color);
+ background : var(--waline-disable-bgcolor);
+ color : var(--waline-disable-color);
+ cursor : not-allowed
+}
+
+.wl-loading {
+ text-align: center
+}
+
+.wl-loading svg {
+ margin: 0 auto
+}
+
+.wl-comment {
+ position : relative;
+ display : flex;
+ margin-bottom: .75em
+}
+
+.wl-close {
+ position : absolute;
+ top : -4px;
+ inset-inline-end: -4px;
+ padding : 0;
+ border : none;
+ background : rgba(0, 0, 0, 0);
+ line-height : 1;
+ cursor : pointer
+}
+
+.wl-login-info {
+ max-width : 80px;
+ margin-top: .75em;
+ text-align: center
+}
+
+.wl-logout-btn {
+ position : absolute;
+ top : -10px;
+ inset-inline-end: -10px;
+ padding : 3px;
+ border : none;
+ background : rgba(0, 0, 0, 0);
+ line-height : 0;
+ cursor : pointer
+}
+
+.wl-avatar {
+ position : relative;
+ width : var(--waline-avatar-size);
+ height : var(--waline-avatar-size);
+ margin : 0 auto;
+ border : var(--waline-border);
+ border-radius: var(--waline-avatar-radius)
+}
+
+@media(max-width: 720px) {
+ .wl-avatar {
+ width : var(--waline-m-avatar-size);
+ height: var(--waline-m-avatar-size)
+ }
+}
+
+.wl-avatar img {
+ width : 100%;
+ height : 100%;
+ border-radius: var(--waline-avatar-radius)
+}
+
+.wl-login-nick {
+ display : block;
+ color : var(--waline-theme-color);
+ font-size : .75em;
+ word-break: break-all
+}
+
+.wl-panel {
+ position : relative;
+ flex-shrink : 1;
+ width : 100%;
+ margin : .5em;
+ border : var(--waline-border);
+ border-radius: .75em;
+ background : var(--waline-bgcolor);
+ box-shadow : var(--waline-box-shadow)
+}
+
+.wl-header {
+ display : flex;
+ overflow : hidden;
+ padding : 0 4px;
+ border-bottom : 2px dashed var(--waline-border-color);
+ border-top-left-radius : .75em;
+ border-top-right-radius: .75em
+}
+
+@media(max-width: 580px) {
+ .wl-header {
+ display: block
+ }
+}
+
+.wl-header label {
+ min-width : 40px;
+ padding : .75em .5em;
+ color : var(--waline-color);
+ font-size : .75em;
+ text-align: center
+}
+
+.wl-header input {
+ flex : 1;
+ width : 0;
+ padding : .5em;
+ background: rgba(0, 0, 0, 0);
+ font-size : .625em;
+ resize : none
+}
+
+.wl-header-item {
+ display: flex;
+ flex : 1
+}
+
+@media(max-width: 580px) {
+ .wl-header-item:not(:last-child) {
+ border-bottom: 2px dashed var(--waline-border-color)
+ }
+}
+
+.wl-header-1 .wl-header-item {
+ width: 100%
+}
+
+.wl-header-2 .wl-header-item {
+ width: 50%
+}
+
+@media(max-width: 580px) {
+ .wl-header-2 .wl-header-item {
+ flex : 0;
+ width: 100%
+ }
+}
+
+.wl-header-3 .wl-header-item {
+ width: 33.33%
+}
+
+@media(max-width: 580px) {
+ .wl-header-3 .wl-header-item {
+ width: 100%
+ }
+}
+
+.wl-editor {
+ position : relative;
+ width : calc(100% - 1em);
+ min-height : 8.75em;
+ margin : .75em .5em;
+ border-radius: .5em;
+ background : rgba(0, 0, 0, 0);
+ font-size : .875em;
+ resize : vertical
+}
+
+.wl-editor,
+.wl-input {
+ max-width : 100%;
+ border : none;
+ color : var(--waline-color);
+ outline : none;
+ transition: all .25s ease
+}
+
+.wl-editor:focus,
+.wl-input:focus {
+ background: var(--waline-bgcolor-light)
+}
+
+.wl-preview {
+ padding: 0 .5em .5em
+}
+
+.wl-preview h4 {
+ margin : .25em;
+ font-weight: bold;
+ font-size : .9375em
+}
+
+.wl-preview .wl-content {
+ min-height: 1.25em;
+ padding : .25em;
+ word-break: break-word;
+ hyphens : auto
+}
+
+.wl-preview .wl-content>*:first-child {
+ margin-top: 0
+}
+
+.wl-preview .wl-content>*:last-child {
+ margin-bottom: 0
+}
+
+.wl-footer {
+ position : relative;
+ display : flex;
+ flex-wrap: wrap;
+ margin : .5em .75em
+}
+
+.wl-actions {
+ display : flex;
+ flex : 2;
+ align-items: center
+}
+
+.wl-action {
+ display : inline-flex;
+ align-items : center;
+ justify-content: center;
+ width : 1.5em;
+ height : 1.5em;
+ margin : 2px;
+ padding : 0;
+ border : none;
+ background : rgba(0, 0, 0, 0);
+ color : var(--waline-color);
+ font-size : 16px;
+ cursor : pointer
+}
+
+.wl-action:hover {
+ color: var(--waline-theme-color)
+}
+
+.wl-action.active {
+ color: var(--waline-active-color)
+}
+
+#wl-image-upload {
+ display: none
+}
+
+#wl-image-upload:focus+label {
+ color: var(--waline-color)
+}
+
+#wl-image-upload:focus-visible+label {
+ outline: -webkit-focus-ring-color auto 1px
+}
+
+.wl-info {
+ display : flex;
+ flex : 3;
+ align-items : center;
+ justify-content: flex-end
+}
+
+.wl-info .wl-text-number {
+ color : var(--waline-info-color);
+ font-size: .75em
+}
+
+.wl-info .wl-text-number .illegal {
+ color: red
+}
+
+.wl-info button {
+ margin-inline-start: .75em
+}
+
+.wl-info button svg {
+ display : block;
+ margin : 0 auto;
+ line-height: 18px
+}
+
+.wl-emoji-popup {
+ position : absolute;
+ top : 100%;
+ inset-inline-start: 1.25em;
+ z-index : 10;
+ max-width : 526px;
+ border : var(--waline-border);
+ border-radius : 6px;
+ background : var(--waline-bgcolor);
+ box-shadow : var(--waline-box-shadow);
+ opacity : 0;
+ visibility : hidden;
+ transition : transform .2s ease-out, opacity .2s ease-out;
+ transform : scale(0.9, 0.9);
+ transform-origin : 0 0
+}
+
+.wl-emoji-popup.display {
+ opacity : 1;
+ visibility: visible;
+ transform : none
+}
+
+.wl-emoji-popup button {
+ display : inline-block;
+ vertical-align: middle;
+ width : 2em;
+ margin : .125em;
+ padding : 0;
+ border-width : 0;
+ background : rgba(0, 0, 0, 0);
+ font-size : inherit;
+ line-height : 2;
+ text-align : center;
+ cursor : pointer
+}
+
+.wl-emoji-popup button:hover {
+ background: var(--waline-bgcolor-hover)
+}
+
+.wl-emoji-popup .wl-emoji {
+ display : inline-block;
+ vertical-align: middle;
+ max-width : 1.5em;
+ max-height : 1.5em
+}
+
+.wl-emoji-popup .wl-tab-wrapper {
+ overflow-y: auto;
+ max-height: 145px;
+ padding : .5em
+}
+
+.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar {
+ width : 6px;
+ height: 6px
+}
+
+.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-track-piece:vertical {
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : rgba(0, 0, 0, .1)
+}
+
+.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-thumb:vertical {
+ width : 6px;
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : var(--waline-theme-color)
+}
+
+.wl-emoji-popup .wl-tabs {
+ position : relative;
+ overflow-x : auto;
+ padding : 0 6px;
+ white-space: nowrap
+}
+
+.wl-emoji-popup .wl-tabs::before {
+ content : " ";
+ position : absolute;
+ top : 0;
+ right : 0;
+ left : 0;
+ z-index : 2;
+ height : 1px;
+ background: var(--waline-border-color)
+}
+
+.wl-emoji-popup .wl-tabs::-webkit-scrollbar {
+ width : 6px;
+ height: 6px
+}
+
+.wl-emoji-popup .wl-tabs::-webkit-scrollbar-track-piece:horizontal {
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : rgba(0, 0, 0, .1)
+}
+
+.wl-emoji-popup .wl-tabs::-webkit-scrollbar-thumb:horizontal {
+ height : 6px;
+ -webkit-border-radius: 6px;
+ border-radius : 6px;
+ background : var(--waline-theme-color)
+}
+
+.wl-emoji-popup .wl-tab {
+ position: relative;
+ margin : 0;
+ padding : 0 .5em
+}
+
+.wl-emoji-popup .wl-tab.active {
+ z-index : 3;
+ border : 1px solid var(--waline-border-color);
+ border-top-width : 0;
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius : 6px;
+ background : var(--waline-bgcolor)
+}
+
+.wl-gif-popup {
+ position : absolute;
+ top : 100%;
+ inset-inline-start: 1.25em;
+ z-index : 10;
+ width : calc(100% - 3em);
+ padding : .75em .75em .25em;
+ border : var(--waline-border);
+ border-radius : 6px;
+ background : var(--waline-bgcolor);
+ box-shadow : var(--waline-box-shadow);
+ opacity : 0;
+ visibility : hidden;
+ transition : transform .2s ease-out, opacity .2s ease-out;
+ transform : scale(0.9, 0.9);
+ transform-origin : 0 0
+}
+
+.wl-gif-popup.display {
+ opacity : 1;
+ visibility: visible;
+ transform : none
+}
+
+.wl-gif-popup input {
+ box-sizing : border-box;
+ width : 100%;
+ margin-bottom: 10px;
+ padding : 3px 5px;
+ border : var(--waline-border)
+}
+
+.wl-gif-popup img {
+ display : block;
+ box-sizing : border-box;
+ width : 100%;
+ border-width: 2px;
+ border-style: solid;
+ border-color: #fff;
+ cursor : pointer
+}
+
+.wl-gif-popup img:hover {
+ border-color : var(--waline-theme-color);
+ border-radius: 2px
+}
+
+.wl-gallery {
+ display : flex;
+ overflow-y: auto;
+ max-height: 80vh
+}
+
+.wl-gallery-column {
+ display : flex;
+ flex : 1;
+ flex-direction: column;
+ height : -webkit-max-content;
+ height : -moz-max-content;
+ height : max-content
+}
+
+.wl-cards .wl-user {
+ --avatar-size : var(--waline-avatar-size);
+ position : relative;
+ margin-inline-end: .75em
+}
+
+@media(max-width: 720px) {
+ .wl-cards .wl-user {
+ --avatar-size: var(--waline-m-avatar-size)
+ }
+}
+
+.wl-cards .wl-user img {
+ width : var(--avatar-size);
+ height : var(--avatar-size);
+ border-radius: var(--waline-avatar-radius);
+ box-shadow : var(--waline-box-shadow)
+}
+
+.wl-cards .wl-user .verified-icon {
+ position : absolute;
+ top : calc(var(--avatar-size)*3/4);
+ inset-inline-start: calc(var(--avatar-size)*3/4);
+ border-radius : 50%;
+ background : var(--waline-bgcolor);
+ box-shadow : var(--waline-box-shadow)
+}
+
+.wl-card-item {
+ position: relative;
+ display : flex;
+ padding : .5em
+}
+
+.wl-card-item .wl-card-item {
+ padding-inline-end: 0
+}
+
+.wl-card {
+ flex : 1;
+ width : 0;
+ padding-bottom: .5em;
+ border-bottom : 1px dashed var(--waline-border-color)
+}
+
+.wl-card:first-child {
+ margin-inline-start: 1em
+}
+
+.wl-card-item:last-child>.wl-card {
+ border-bottom: none
+}
+
+.wl-card .wl-nick svg {
+ position : relative;
+ bottom : -0.125em;
+ line-height: 1
+}
+
+.wl-card .wl-head {
+ overflow : hidden;
+ line-height: 1.5
+}
+
+.wl-card .wl-head .wl-nick {
+ position : relative;
+ display : inline-block;
+ margin-inline-end: .5em;
+ font-weight : bold;
+ font-size : .875em;
+ line-height : 1;
+ text-decoration : none
+}
+
+.wl-card span.wl-nick {
+ color: var(--waline-dark-grey)
+}
+
+.wl-card .wl-badge {
+ display : inline-block;
+ margin-inline-end: 1em;
+ padding : 0 .3em;
+ border : 1px solid var(--waline-badge-color);
+ border-radius : 4px;
+ color : var(--waline-badge-color);
+ font-size : var(--waline-badge-font-size)
+}
+
+.wl-card .wl-time {
+ margin-inline-end: .875em;
+ color : var(--waline-info-color);
+ font-size : .75em
+}
+
+.wl-card .wl-meta {
+ position : relative;
+ line-height: 1
+}
+
+.wl-card .wl-meta>span {
+ display : inline-block;
+ margin-inline-end: .25em;
+ padding : 2px 4px;
+ border-radius : .2em;
+ background : var(--waline-info-bgcolor);
+ color : var(--waline-info-color);
+ font-size : var(--waline-info-font-size);
+ line-height : 1.5
+}
+
+.wl-card .wl-meta>span:empty {
+ display: none
+}
+
+.wl-card .wl-comment-actions {
+ float : right;
+ line-height: 1
+}
+
+[dir=rtl] .wl-card .wl-comment-actions {
+ float: left
+}
+
+.wl-card .wl-delete,
+.wl-card .wl-like,
+.wl-card .wl-reply,
+.wl-card .wl-edit {
+ display : inline-flex;
+ align-items: center;
+ border : none;
+ background : rgba(0, 0, 0, 0);
+ color : var(--waline-color);
+ line-height: 1;
+ cursor : pointer;
+ transition : color .2s ease
+}
+
+.wl-card .wl-delete:hover,
+.wl-card .wl-like:hover,
+.wl-card .wl-reply:hover,
+.wl-card .wl-edit:hover {
+ color: var(--waline-theme-color)
+}
+
+.wl-card .wl-delete.active,
+.wl-card .wl-like.active,
+.wl-card .wl-reply.active,
+.wl-card .wl-edit.active {
+ color: var(--waline-active-color)
+}
+
+.wl-card .wl-content {
+ position : relative;
+ margin-bottom: .75em;
+ padding-top : .625em;
+ font-size : .875em;
+ line-height : 2;
+ word-wrap : break-word
+}
+
+.wl-card .wl-content.expand {
+ overflow : hidden;
+ max-height: 8em;
+ cursor : pointer
+}
+
+.wl-card .wl-content.expand::before {
+ content : "";
+ position : absolute;
+ top : 0;
+ bottom : 3.15em;
+ inset-inline-start: 0;
+ z-index : 999;
+ display : block;
+ width : 100%;
+ background : linear-gradient(180deg, #000, rgba(255, 255, 255, 0.9))
+}
+
+.wl-card .wl-content.expand::after {
+ content : attr(data-expand);
+ position : absolute;
+ bottom : 0;
+ inset-inline-start: 0;
+ z-index : 999;
+ display : block;
+ width : 100%;
+ height : 3.15em;
+ background : rgba(255, 255, 255, .9);
+ color : #828586;
+ line-height : 3.15em;
+ text-align : center
+}
+
+.wl-card .wl-content>*:first-child {
+ margin-top: 0
+}
+
+.wl-card .wl-content>*:last-child {
+ margin-bottom: 0
+}
+
+.wl-card .wl-admin-actions {
+ margin : 8px 0;
+ font-size : 12px;
+ text-align: right
+}
+
+.wl-card .wl-comment-status {
+ margin: 0 8px
+}
+
+.wl-card .wl-comment-status .wl-btn {
+ border-radius: 0
+}
+
+.wl-card .wl-comment-status .wl-btn:first-child {
+ border-inline-end: 0;
+ border-radius : .5em 0 0 .5em
+}
+
+.wl-card .wl-comment-status .wl-btn:last-child {
+ border-inline-start: 0;
+ border-radius : 0 .5em .5em 0
+}
+
+.wl-card .wl-quote {
+ border-inline-start: 1px dashed rgba(237, 237, 237, .5)
+}
+
+.wl-card .wl-quote .wl-user {
+ --avatar-size: var(--waline-m-avatar-size)
+}
+
+.wl-close-icon {
+ color: var(--waline-border-color)
+}
+
+.wl-content .vemoji,
+.wl-content .wl-emoji {
+ display : inline-block;
+ vertical-align: baseline;
+ height : 1.25em;
+ margin : -0.125em .25em
+}
+
+.wl-content .wl-tex {
+ background: var(--waline-info-bgcolor);
+ color : var(--waline-info-color)
+}
+
+.wl-content span.wl-tex {
+ display : inline-block;
+ margin-inline-end: .25em;
+ padding : 2px 4px;
+ border-radius : .2em;
+ font-size : var(--waline-info-font-size);
+ line-height : 1.5
+}
+
+.wl-content p.wl-tex {
+ text-align: center
+}
+
+.wl-content .katex-display {
+ overflow : auto hidden;
+ -webkit-overflow-scrolling: touch;
+ padding-top : .2em;
+ padding-bottom : .2em
+}
+
+.wl-content .katex-display::-webkit-scrollbar {
+ height: 3px
+}
+
+.wl-content .katex-error {
+ color: red
+}
+
+.wl-count {
+ flex : 1;
+ font-weight: bold;
+ font-size : 1.25em
+}
+
+.wl-empty {
+ overflow : auto;
+ padding : 1.25em;
+ color : var(--waline-color);
+ text-align: center
+}
+
+.wl-operation {
+ text-align: center
+}
+
+.wl-operation button {
+ margin: 1em 0
+}
+
+.wl-power {
+ padding : .5em 0;
+ color : var(--waline-light-grey);
+ font-size : var(--waline-info-font-size);
+ text-align: end
+}
+
+.wl-meta-head {
+ display : flex;
+ flex-direction: row;
+ align-items : center;
+ padding : .375em
+}
+
+.wl-sort {
+ margin : 0;
+ list-style-type: none
+}
+
+.wl-sort li {
+ display : inline-block;
+ color : var(--waline-info-color);
+ font-size: .75em;
+ cursor : pointer
+}
+
+.wl-sort li.active {
+ color: var(--waline-theme-color)
+}
+
+.wl-sort li+li {
+ margin-inline-start: 1em
+}
+
+.wl-reaction {
+ overflow : auto hidden;
+ margin-bottom: 1.75em;
+ text-align : center
+}
+
+.wl-reaction img {
+ width : 100%;
+ height : 100%;
+ transition: all 250ms ease-in-out
+}
+
+.wl-reaction-title {
+ margin : 16px auto;
+ font-weight: bold;
+ font-size : 18px
+}
+
+.wl-reaction-list {
+ display : flex;
+ flex-direction : row;
+ gap : 16px;
+ justify-content: center;
+ margin : 0;
+ padding : 8px;
+ list-style-type: none
+}
+
+@media(max-width: 580px) {
+ .wl-reaction-list {
+ gap: 12px
+ }
+}
+
+[data-waline] .wl-reaction-list {
+ margin-inline-start: 0
+}
+
+.wl-reaction-item {
+ display : flex;
+ flex-direction: column;
+ align-items : center;
+ cursor : pointer
+}
+
+.wl-reaction-item:hover img,
+.wl-reaction-item.active img {
+ transform: scale(1.15)
+}
+
+.wl-reaction-img {
+ position: relative;
+ width : 42px;
+ height : 42px
+}
+
+@media(max-width: 580px) {
+ .wl-reaction-img {
+ width : 32px;
+ height: 32px
+ }
+}
+
+.wl-reaction-loading {
+ position : absolute;
+ top : -4px;
+ inset-inline-end: -5px;
+ width : 18px;
+ height : 18px;
+ color : var(--waline-theme-color)
+}
+
+.wl-reaction-votes {
+ position : absolute;
+ top : -9px;
+ inset-inline-end: -9px;
+ min-width : 1em;
+ padding : 2px;
+ border : 1px solid var(--waline-theme-color);
+ border-radius : 1em;
+ background : var(--waline-bgcolor);
+ color : var(--waline-theme-color);
+ font-weight : 700;
+ font-size : .75em;
+ line-height : 1
+}
+
+.wl-reaction-item.active .wl-reaction-votes {
+ background: var(--waline-theme-color);
+ color : var(--waline-bgcolor)
+}
+
+.wl-reaction-text {
+ font-size: .875em
+}
+
+.wl-reaction-item.active .wl-reaction-text {
+ color: var(--waline-theme-color)
+}
+
+.wl-content pre,
+.wl-content pre[class*=language-] {
+ overflow : auto;
+ margin : .75rem 0;
+ padding : 1rem 1.25rem;
+ border-radius: 6px;
+ background : var(--waline-code-bgcolor);
+ line-height : 1.4
+}
+
+.wl-content pre code,
+.wl-content pre[class*=language-] code {
+ padding : 0;
+ border-radius: 0;
+ background : rgba(0, 0, 0, 0) !important;
+ color : #bbb;
+ direction : ltr
+}
+
+.wl-content code[class*=language-],
+.wl-content pre[class*=language-] {
+ background : none;
+ color : #ccc;
+ font-size : 1em;
+ font-family : Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
+ text-align : left;
+ white-space : pre;
+ word-spacing: normal;
+ word-wrap : normal;
+ word-break : normal;
+ tab-size : 4;
+ hyphens : none
+}
+
+.wl-content pre[class*=language-] {
+ overflow: auto
+}
+
+.wl-content :not(pre)>code[class*=language-],
+.wl-content pre[class*=language-] {
+ background: #2d2d2d
+}
+
+.wl-content :not(pre)>code[class*=language-] {
+ padding : .1em;
+ border-radius: .3em;
+ white-space : normal
+}
+
+.wl-content .token.comment,
+.wl-content .token.block-comment,
+.wl-content .token.prolog,
+.wl-content .token.doctype,
+.wl-content .token.cdata {
+ color: #999
+}
+
+.wl-content .token.punctuation {
+ color: #ccc
+}
+
+.wl-content .token.tag,
+.wl-content .token.attr-name,
+.wl-content .token.namespace,
+.wl-content .token.deleted {
+ color: #e2777a
+}
+
+.wl-content .token.function-name {
+ color: #6196cc
+}
+
+.wl-content .token.boolean,
+.wl-content .token.number,
+.wl-content .token.function {
+ color: #f08d49
+}
+
+.wl-content .token.property,
+.wl-content .token.class-name,
+.wl-content .token.constant,
+.wl-content .token.symbol {
+ color: #f8c555
+}
+
+.wl-content .token.selector,
+.wl-content .token.important,
+.wl-content .token.atrule,
+.wl-content .token.keyword,
+.wl-content .token.builtin {
+ color: #cc99cd
+}
+
+.wl-content .token.string,
+.wl-content .token.char,
+.wl-content .token.attr-value,
+.wl-content .token.regex,
+.wl-content .token.variable {
+ color: #7ec699
+}
+
+.wl-content .token.operator,
+.wl-content .token.entity,
+.wl-content .token.url {
+ color: #67cdcc
+}
+
+.wl-content .token.important,
+.wl-content .token.bold {
+ font-weight: bold
+}
+
+.wl-content .token.italic {
+ font-style: italic
+}
+
+.wl-content .token.entity {
+ cursor: help
+}
+
+.wl-content .token.inserted {
+ color: green
+}
+
+.wl-recent-item p {
+ display: inline
+}
+
+.wl-user-list {
+ padding : 0;
+ list-style: none
+}
+
+.wl-user-list a,
+.wl-user-list a:hover,
+.wl-user-list a:visited {
+ color : var(--waline-color);
+ text-decoration: none
+}
+
+.wl-user-list .wl-user-avatar {
+ position : relative;
+ display : inline-block;
+ overflow : hidden;
+ margin-inline-end: 10px;
+ border-radius : 4px;
+ line-height : 0
+}
+
+.wl-user-list .wl-user-avatar>img {
+ width : var(--waline-user-avatar-size, 48px);
+ height: var(--waline-user-avatar-size, 48px)
+}
+
+.wl-user-list .wl-user-badge {
+ position : absolute;
+ bottom : 0;
+ inset-inline-end: 0;
+ min-width : .7em;
+ height : 1.5em;
+ padding : 0 .4em;
+ border-radius : 4px;
+ background : var(--waline-info-bgcolor);
+ color : var(--waline-info-color);
+ font-weight : bold;
+ font-size : 10px;
+ line-height : 1.5em;
+ text-align : center
+}
+
+.wl-user-list .wl-user-item {
+ margin: 10px 0
+}
+
+.wl-user-list .wl-user-item:nth-child(1) .wl-user-badge {
+ background : var(--waline-rank-gold-bgcolor, #fa3939);
+ color : var(--waline-white);
+ font-weight: bold
+}
+
+.wl-user-list .wl-user-item:nth-child(2) .wl-user-badge {
+ background : var(--waline-rank-silver-bgcolor, #fb811c);
+ color : var(--waline-white);
+ font-weight: bold
+}
+
+.wl-user-list .wl-user-item:nth-child(3) .wl-user-badge {
+ background: var(--waline-rank-copper-bgcolor, #feb207);
+ color : var(--waline-white)
+}
+
+.wl-user-list .wl-user-meta {
+ display : inline-block;
+ vertical-align: top
+}
+
+.wl-user-list .wl-badge {
+ display : inline-block;
+ vertical-align : text-top;
+ margin-inline-start: .5em;
+ padding : 0 .3em;
+ border : 1px solid var(--waline-badge-color);
+ border-radius : 4px;
+ color : var(--waline-badge-color);
+ font-size : var(--waline-badge-font-size)
+}
+
+.wl-user-wall {
+ padding : 0;
+ list-style: none
+}
+
+.wl-user-wall .wl-user-badge,
+.wl-user-wall .wl-user-meta {
+ display: none
+}
+
+.wl-user-wall .wl-user-item {
+ position : relative;
+ display : inline-block;
+ transition: transform ease-in-out .2s
+}
+
+.wl-user-wall .wl-user-item::before,
+.wl-user-wall .wl-user-item::after {
+ position : absolute;
+ bottom : 100%;
+ left : 50%;
+ z-index : 10;
+ opacity : 0;
+ pointer-events : none;
+ transition : all .18s ease-out .18s;
+ transform : translate(-50%, 4px);
+ transform-origin: top
+}
+
+.wl-user-wall .wl-user-item::before {
+ content : "";
+ width : 0;
+ height : 0;
+ border : 5px solid rgba(0, 0, 0, 0);
+ border-top-color: rgba(16, 16, 16, .95)
+}
+
+.wl-user-wall .wl-user-item::after {
+ content : attr(aria-label);
+ margin-bottom: 10px;
+ padding : .5em 1em;
+ border-radius: 2px;
+ background : rgba(16, 16, 16, .95);
+ color : #fff;
+ font-size : 12px;
+ white-space : nowrap
+}
+
+.wl-user-wall .wl-user-item:hover {
+ transform: scale(1.1)
+}
+
+.wl-user-wall .wl-user-item:hover::before,
+.wl-user-wall .wl-user-item:hover::after {
+ opacity : 1;
+ pointer-events: none;
+ transform : translate(-50%, 0)
+}
+
+.wl-user-wall .wl-user-item img {
+ width : var(--waline-user-avatar-size, 48px);
+ height: var(--waline-user-avatar-size, 48px)
+}
+
+/*# sourceMappingURL=waline.css.map */
\ No newline at end of file
diff --git a/fonts/LXGWWenKaiLite-Regular.woff2 b/fonts/LXGWWenKaiLite-Regular.woff2
new file mode 100644
index 0000000..3106ab0
Binary files /dev/null and b/fonts/LXGWWenKaiLite-Regular.woff2 differ
diff --git a/fonts/LXGWWenKaiMono-Regular.woff2 b/fonts/LXGWWenKaiMono-Regular.woff2
new file mode 100644
index 0000000..9078826
Binary files /dev/null and b/fonts/LXGWWenKaiMono-Regular.woff2 differ
diff --git a/fonts/lg.svg b/fonts/lg.svg
new file mode 100644
index 0000000..fe8b075
--- /dev/null
+++ b/fonts/lg.svg
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/fonts/lg.ttf b/fonts/lg.ttf
new file mode 100644
index 0000000..825f483
Binary files /dev/null and b/fonts/lg.ttf differ
diff --git a/fonts/lg.woff b/fonts/lg.woff
new file mode 100644
index 0000000..fd02a6f
Binary files /dev/null and b/fonts/lg.woff differ
diff --git a/fonts/lg.woff2 b/fonts/lg.woff2
new file mode 100644
index 0000000..2c2e289
Binary files /dev/null and b/fonts/lg.woff2 differ
diff --git a/fonts/notoserifsc-medium-webfont.woff b/fonts/notoserifsc-medium-webfont.woff
new file mode 100644
index 0000000..883315d
Binary files /dev/null and b/fonts/notoserifsc-medium-webfont.woff differ
diff --git a/fonts/notoserifsc-medium-webfont.woff2 b/fonts/notoserifsc-medium-webfont.woff2
new file mode 100644
index 0000000..ba52cb6
Binary files /dev/null and b/fonts/notoserifsc-medium-webfont.woff2 differ
diff --git a/fonts/unicons.woff2 b/fonts/unicons.woff2
new file mode 100644
index 0000000..4855685
Binary files /dev/null and b/fonts/unicons.woff2 differ
diff --git a/idea/index.html b/idea/index.html
new file mode 100644
index 0000000..df07b38
--- /dev/null
+++ b/idea/index.html
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/img/A4-favicon.png b/img/A4-favicon.png
new file mode 100644
index 0000000..ee3d616
Binary files /dev/null and b/img/A4-favicon.png differ
diff --git a/img/A4800x500.png b/img/A4800x500.png
new file mode 100644
index 0000000..cfaae3b
Binary files /dev/null and b/img/A4800x500.png differ
diff --git a/img/archive.png b/img/archive.png
new file mode 100644
index 0000000..6d01c87
Binary files /dev/null and b/img/archive.png differ
diff --git a/img/comment.png b/img/comment.png
new file mode 100644
index 0000000..fac6905
Binary files /dev/null and b/img/comment.png differ
diff --git a/img/favicon.ico b/img/favicon.ico
new file mode 100644
index 0000000..520a338
Binary files /dev/null and b/img/favicon.ico differ
diff --git a/img/favicon.png b/img/favicon.png
new file mode 100644
index 0000000..dcfde89
Binary files /dev/null and b/img/favicon.png differ
diff --git a/img/favicon.webp b/img/favicon.webp
new file mode 100644
index 0000000..39862f8
Binary files /dev/null and b/img/favicon.webp differ
diff --git a/img/index.png b/img/index.png
new file mode 100644
index 0000000..518ac62
Binary files /dev/null and b/img/index.png differ
diff --git a/img/loading.gif b/img/loading.gif
new file mode 100644
index 0000000..d3bbc80
Binary files /dev/null and b/img/loading.gif differ
diff --git a/img/market.png b/img/market.png
new file mode 100644
index 0000000..03cbe45
Binary files /dev/null and b/img/market.png differ
diff --git a/img/tags&&categories.png b/img/tags&&categories.png
new file mode 100644
index 0000000..5dfb3c6
Binary files /dev/null and b/img/tags&&categories.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..f27dfac
--- /dev/null
+++ b/index.html
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+ 首页
+
+
+
+   /  
文章
+
+
+
+
+
+
+
+   /  
一些想法
+
+
+
+   /  
关于
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
写在前面: 拥有一个属于自己的网站,我认为对大多数沉氲互联网的老网民而言是一个无法抵抗的诱惑。
+
对于我自己而言,拥有近20年的互联网冲浪史,绝大多数时间都花在了游戏上面,虽然游戏也没打出什么名堂。但我见证了互联网那个辉煌自由、疯狂发展的时代。
+
在这个情况下,搭建属于自己的小窝的思想快速膨胀,唱响歌颂自己的赞歌的渴望无比夸张。
+
借助Nino大佬搭建的框架及使用手册,我顺利的创建了属于自己的博客,这种感觉是无法言说的。
+
往事归于沉寂,唯有自由意志永存,我会牢记这个寒风凛冽的午后。
+
最后,欢迎我自己以及未曾谋面的你!
+
Welcome to my website!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index/index.html b/index/index.html
new file mode 100644
index 0000000..b942e63
--- /dev/null
+++ b/index/index.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
写在前面: 拥有一个属于自己的网站,我认为对大多数沉氲互联网的老网民而言是一个无法抵抗的诱惑。
+
对于我自己而言,拥有近20年的互联网冲浪史,绝大多数时间都花在了游戏上面,虽然游戏也没打出什么名堂。但我见证了互联网那个辉煌自由、疯狂发展的时代。
+
在这个情况下,搭建属于自己的小窝的思想快速膨胀,唱响歌颂自己的赞歌的渴望无比夸张。
+
借助Nino大佬搭建的框架及使用手册,我顺利的创建了属于自己的博客,这种感觉是无法言说的。
+
往事归于沉寂,唯有自由意志永存,我会牢记这个寒风凛冽的午后。
+
最后,欢迎我自己以及未曾谋面的你!
+
Welcome to my website!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js/darkmode-js.min.js b/js/darkmode-js.min.js
new file mode 100644
index 0000000..667a782
--- /dev/null
+++ b/js/darkmode-js.min.js
@@ -0,0 +1 @@
+!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define("darkmode-js", [], t) : "object" == typeof exports ? exports["darkmode-js"] = t() : e["darkmode-js"] = t() }("undefined" != typeof self ? self : this, (function () { return function (e) { var t = {}; function n(o) { if (t[o]) return t[o].exports; var r = t[o] = { i: o, l: !1, exports: {} }; return e[o].call(r.exports, r, r.exports, n), r.l = !0, r.exports } return n.m = e, n.c = t, n.d = function (e, t, o) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var o = Object.create(null); if (n.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var r in e) n.d(o, r, function (t) { return e[t] }.bind(null, r)); return o }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 0) }([function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function (e) { if (e && e.__esModule) return e; var t = {}; if (null != e) for (var n in e) if (Object.prototype.hasOwnProperty.call(e, n)) { var o = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(e, n) : {}; o.get || o.set ? Object.defineProperty(t, n, o) : t[n] = e[n] } return t.default = e, t }(n(1)); var r = o.default; t.default = r, o.IS_BROWSER && function (e) { e.Darkmode = o.default }(window), e.exports = t.default }, function (e, t, n) { "use strict"; function o(e, t) { for (var n = 0; n < t.length; n++) { var o = t[n]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o) } } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = t.IS_BROWSER = void 0; var r = "undefined" != typeof window; t.IS_BROWSER = r; var a = function () { function e(t) { if (function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), r) { t = Object.assign({}, { bottom: "32px", right: "32px", left: "unset", time: "0.3s", mixColor: "#fff", backgroundColor: "#fff", buttonColorDark: "#100f2c", buttonColorLight: "#fff", label: "", saveInCookies: !0, autoMatchOsTheme: !0 }, t); var n = "\n .darkmode-layer {\n position: fixed;\n pointer-events: none;\n background: ".concat(t.mixColor, ";\n transition: all ").concat(t.time, " ease;\n mix-blend-mode: difference;\n }\n\n .darkmode-layer--button {\n width: 2.9rem;\n height: 2.9rem;\n border-radius: 50%;\n right: ").concat(t.right, ";\n bottom: ").concat(t.bottom, ";\n left: ").concat(t.left, ";\n }\n\n .darkmode-layer--simple {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transform: scale(1) !important;\n }\n\n .darkmode-layer--expanded {\n transform: scale(100);\n border-radius: 0;\n }\n\n .darkmode-layer--no-transition {\n transition: none;\n }\n\n .darkmode-toggle {\n background: ").concat(t.buttonColorDark, ";\n width: 3rem;\n height: 3rem;\n position: fixed;\n border-radius: 50%;\n border:none;\n right: ").concat(t.right, ";\n bottom: ").concat(t.bottom, ";\n left: ").concat(t.left, ";\n cursor: pointer;\n transition: all 0.5s ease;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .darkmode-toggle--white {\n background: ").concat(t.buttonColorLight, ";\n }\n\n .darkmode-toggle--inactive {\n display: none;\n }\n\n .darkmode-background {\n background: ").concat(t.backgroundColor, ";\n position: fixed;\n pointer-events: none;\n z-index: -10;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n }\n\n img, .darkmode-ignore {\n isolation: isolate;\n display: inline-block;\n }\n\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .darkmode-toggle {display: none !important}\n }\n\n @supports (-ms-ime-align:auto), (-ms-accelerator:true) {\n .darkmode-toggle {display: none !important}\n }\n "), o = document.createElement("div"), a = document.createElement("button"), i = document.createElement("div"); a.innerHTML = t.label, a.classList.add("darkmode-toggle--inactive"), o.classList.add("darkmode-layer"), i.classList.add("darkmode-background"); var d = "true" === window.localStorage.getItem("darkmode"), s = t.autoMatchOsTheme && window.matchMedia("(prefers-color-scheme: dark)").matches, l = null === window.localStorage.getItem("darkmode"); (!0 === d && t.saveInCookies || l && s) && (o.classList.add("darkmode-layer--expanded", "darkmode-layer--simple", "darkmode-layer--no-transition"), a.classList.add("darkmode-toggle--white"), document.body.classList.add("darkmode--activated")), document.body.insertBefore(a, document.body.firstChild), document.body.insertBefore(o, document.body.firstChild), document.body.insertBefore(i, document.body.firstChild), this.addStyle(n), this.button = a, this.layer = o, this.saveInCookies = t.saveInCookies, this.time = t.time } } var t, n, a; return t = e, (n = [{ key: "addStyle", value: function (e) { var t = document.createElement("link"); t.setAttribute("rel", "stylesheet"), t.setAttribute("type", "text/css"), t.setAttribute("href", "data:text/css;charset=UTF-8," + encodeURIComponent(e)), document.head.appendChild(t) } }, { key: "showWidget", value: function () { var e = this; if (r) { var t = this.button, n = this.layer, o = 1e3 * parseFloat(this.time); t.classList.add("darkmode-toggle"), t.classList.remove("darkmode-toggle--inactive"), t.setAttribute("aria-label", "Activate dark mode"), t.setAttribute("aria-checked", "false"), t.setAttribute("role", "checkbox"), n.classList.add("darkmode-layer--button"), t.addEventListener("click", (function () { var r = e.isActivated(); r ? (n.classList.remove("darkmode-layer--simple"), t.setAttribute("disabled", !0), setTimeout((function () { n.classList.remove("darkmode-layer--no-transition"), n.classList.remove("darkmode-layer--expanded"), t.removeAttribute("disabled") }), 1)) : (n.classList.add("darkmode-layer--expanded"), t.setAttribute("disabled", !0), setTimeout((function () { n.classList.add("darkmode-layer--no-transition"), n.classList.add("darkmode-layer--simple"), t.removeAttribute("disabled") }), o)), t.classList.toggle("darkmode-toggle--white"), document.body.classList.toggle("darkmode--activated"), window.localStorage.setItem("darkmode", !r) })) } } }, { key: "toggle", value: function () { if (r) { var e = this.layer, t = this.isActivated(), n = this.button; e.classList.toggle("darkmode-layer--simple"), document.body.classList.toggle("darkmode--activated"), window.localStorage.setItem("darkmode", !t), n.setAttribute("aria-label", "De-activate dark mode"), n.setAttribute("aria-checked", "true") } } }, { key: "isActivated", value: function () { return r ? document.body.classList.contains("darkmode--activated") : null } }]) && o(t.prototype, n), a && o(t, a), e }(); t.default = a }]) }));
\ No newline at end of file
diff --git a/js/hitokoto.js b/js/hitokoto.js
new file mode 100644
index 0000000..cd00716
--- /dev/null
+++ b/js/hitokoto.js
@@ -0,0 +1,14 @@
+fetch('https://v1.hitokoto.cn/?c=k') // 具体接口信息:https://developer.hitokoto.cn/sentence/
+ .then(function (res) {
+ return res.json();
+ })
+ .then(function (data) {
+ var hitokoto = document.getElementById('quote')
+ hitokoto.innerText = data.hitokoto;
+ })
+ .catch(function (err) {
+ console.error(err);
+ })
+
+
+
diff --git a/js/lightgallery.min.js b/js/lightgallery.min.js
new file mode 100644
index 0000000..c8f89fc
--- /dev/null
+++ b/js/lightgallery.min.js
@@ -0,0 +1,7 @@
+/**!
+ * lightgallery.js | 1.4.0 | October 13th 2020
+ * http://sachinchoolur.github.io/lightgallery.js/
+ * Copyright (c) 2016 Sachin N;
+ * @license GPLv3
+ */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Lightgallery=e()}}(function(){var e,t,s;return function(){function e(t,s,l){function i(r,a){if(!s[r]){if(!t[r]){var d="function"==typeof require&&require;if(!a&&d)return d(r,!0);if(o)return o(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var u=s[r]={exports:{}};t[r][0].call(u.exports,function(e){return i(t[r][1][e]||e)},u,u.exports,e,t,s,l)}return s[r].exports}for(var o="function"==typeof require&&require,r=0;r
2&&void 0!==arguments[2]?arguments[2]:null;if(t){var i=new CustomEvent(s,{detail:l});t.dispatchEvent(i)}},Listener:{uid:0},on:function e(s,l,i){var o=this;s&&l.split(" ").forEach(function(e){var l=o.getAttribute(s,"lg-event-uid")||"";t.Listener.uid++,l+="&"+t.Listener.uid,o.setAttribute(s,"lg-event-uid",l),t.Listener[e+t.Listener.uid]=i,s.addEventListener(e.split(".")[0],i,!1)})},off:function e(s,l){if(s){var i=this.getAttribute(s,"lg-event-uid");if(i){i=i.split("&");for(var o=0;o-1&&(s.removeEventListener(a.split(".")[0],t.Listener[a]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[a]);else s.removeEventListener(r.split(".")[0],t.Listener[r]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[r]}}}},param:function e(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}};e.default=t})},{}],2:[function(t,s,l){!function(s,i){if("function"==typeof e&&e.amd)e(["./lg-utils"],i);else if(void 0!==l)i(t("./lg-utils"));else{var o={exports:{}};i(s.lgUtils),s.lightgallery=o.exports}}(this,function(e){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(this.el=e,this.s=i({},o,t),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in document.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.items=[],this.s.dynamic?this.items=this.s.dynamicEl:"this"===this.s.selector?this.items.push(this.el):""!==this.s.selector?this.s.selectWithin?this.items=document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector):this.items=this.el.querySelectorAll(this.s.selector):this.items=this.el.children,this.___slide="",this.outer="",this.init(),this}var l=t(e),i=Object.assign||function(e){for(var t=1;te.items.length&&(e.s.preload=e.items.length);var t=window.location.hash;if(t.indexOf("lg="+this.s.galleryId)>0&&(e.index=parseInt(t.split("&slide=")[1],10),l.default.addClass(document.body,"lg-from-hash"),l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}))),e.s.dynamic)l.default.trigger(this.el,"onBeforeOpen"),e.index=e.s.index||0,l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}));else for(var s=0;s1&&(t.arrow(),setTimeout(function(){t.enableDrag(),t.enableSwipe()},50),t.s.mousewheel&&t.mousewheel()),t.counter(),t.closeGallery(),l.default.trigger(t.el,"onAfterOpen"),t.s.hideBarsDelay>0){var i=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay);l.default.on(t.outer,"mousemove.lg click.lg touchstart.lg",function(){clearTimeout(i),l.default.removeClass(t.outer,"lg-hide-items"),clearTimeout(t.hideBartimeout),t.hideBartimeout=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay)})}},s.prototype.structure=function(){var e="",t="",s=0,i="",o,r=this;for(document.body.insertAdjacentHTML("beforeend",'
'),l.default.setVendor(document.querySelector(".lg-backdrop"),"TransitionDuration",this.s.backdropDuration+"ms"),s=0;s ';if(this.s.controls&&this.items.length>1&&(t='
'+this.s.prevHtml+' '+this.s.nextHtml+"
"),".lg-sub-html"===this.s.appendSubHtmlTo&&(i='
'),o='
",document.body.insertAdjacentHTML("beforeend",o),this.outer=document.querySelector(".lg-outer"),this.outer.focus(),this.___slide=this.outer.querySelectorAll(".lg-item"),this.s.useLeft?(l.default.addClass(this.outer,"lg-use-left"),this.s.mode="lg-slide"):l.default.addClass(this.outer,"lg-use-css3"),r.setTop(),l.default.on(window,"resize.lg orientationchange.lg",function(){setTimeout(function(){r.setTop()},100)}),l.default.addClass(this.___slide[this.index],"lg-current"),this.doCss()?l.default.addClass(this.outer,"lg-css3"):(l.default.addClass(this.outer,"lg-css"),this.s.speed=0),l.default.addClass(this.outer,this.s.mode),this.s.enableDrag&&this.items.length>1&&l.default.addClass(this.outer,"lg-grab"),this.s.showAfterLoad&&l.default.addClass(this.outer,"lg-show-after-load"),this.doCss()){var a=this.outer.querySelector(".lg-inner");l.default.setVendor(a,"TransitionTimingFunction",this.s.cssEasing),l.default.setVendor(a,"TransitionDuration",this.s.speed+"ms")}setTimeout(function(){l.default.addClass(document.querySelector(".lg-backdrop"),"in")}),setTimeout(function(){l.default.addClass(r.outer,"lg-visible")},this.s.backdropDuration),this.s.download&&this.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",'
'),this.prevScrollTop=document.documentElement.scrollTop||document.body.scrollTop},s.prototype.setTop=function(){if("100%"!==this.s.height){var e=window.innerHeight,t=(e-parseInt(this.s.height,10))/2,s=this.outer.querySelector(".lg");e>=parseInt(this.s.height,10)?s.style.top=t+"px":s.style.top="0px"}},s.prototype.doCss=function(){return!!function e(){var t=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],s=document.documentElement,l=0;for(l=0;l
'+(parseInt(this.index,10)+1)+' / '+this.items.length+" ")},s.prototype.addHtml=function(e){var t=null,s;if(this.s.dynamic?t=this.s.dynamicEl[e].subHtml:(s=this.items[e],t=s.getAttribute("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!t&&(t=s.getAttribute("title"))&&s.querySelector("img")&&(t=s.querySelector("img").getAttribute("alt"))),void 0!==t&&null!==t){var i=t.substring(0,1);"."!==i&&"#"!==i||(t=this.s.subHtmlSelectorRelative&&!this.s.dynamic?s.querySelector(t).innerHTML:document.querySelector(t).innerHTML)}else t="";".lg-sub-html"===this.s.appendSubHtmlTo?this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML=t:this.___slide[e].insertAdjacentHTML("beforeend",t),void 0!==t&&null!==t&&(""===t?l.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html"):l.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html")),l.default.trigger(this.el,"onAfterAppendSubHtml",{index:e})},s.prototype.preload=function(e){var t=1,s=1;for(t=1;t<=this.s.preload&&!(t>=this.items.length-e);t++)this.loadContent(e+t,!1,0);for(s=1;s<=this.s.preload&&!(e-s<0);s++)this.loadContent(e-s,!1,0)},s.prototype.loadContent=function(e,t,s){var i=this,o=!1,r,a,d,n,u,c,g,f=function e(t){for(var s=[],l=[],i=0;i
r){a=l[d];break}};if(i.s.dynamic){if(i.s.dynamicEl[e].poster&&(o=!0,d=i.s.dynamicEl[e].poster),c=i.s.dynamicEl[e].html,a=i.s.dynamicEl[e].src,g=i.s.dynamicEl[e].alt,i.s.dynamicEl[e].responsive){f(i.s.dynamicEl[e].responsive.split(","))}n=i.s.dynamicEl[e].srcset,u=i.s.dynamicEl[e].sizes}else{if(i.items[e].getAttribute("data-poster")&&(o=!0,d=i.items[e].getAttribute("data-poster")),c=i.items[e].getAttribute("data-html"),a=i.items[e].getAttribute("href")||i.items[e].getAttribute("data-src"),g=i.items[e].getAttribute("title"),i.items[e].querySelector("img")&&(g=g||i.items[e].querySelector("img").getAttribute("alt")),i.items[e].getAttribute("data-responsive")){f(i.items[e].getAttribute("data-responsive").split(","))}n=i.items[e].getAttribute("data-srcset"),u=i.items[e].getAttribute("data-sizes")}var h=!1;i.s.dynamic?i.s.dynamicEl[e].iframe&&(h=!0):"true"===i.items[e].getAttribute("data-iframe")&&(h=!0);var m=i.isVideo(a,e);if(!l.default.hasClass(i.___slide[e],"lg-loaded")){if(h)i.___slide[e].insertAdjacentHTML("afterbegin",'');else if(o){var p="";p=m&&m.youtube?"lg-has-youtube":m&&m.vimeo?"lg-has-vimeo":"lg-has-html5",i.___slide[e].insertAdjacentHTML("beforeend",'')}else m?(i.___slide[e].insertAdjacentHTML("beforeend",''),l.default.trigger(i.el,"hasVideo",{index:e,src:a,html:c})):(g=g?'alt="'+g+'"':"",i.___slide[e].insertAdjacentHTML("beforeend",' '));if(l.default.trigger(i.el,"onAferAppendSlide",{index:e}),r=i.___slide[e].querySelector(".lg-object"),u&&r.setAttribute("sizes",u),n&&(r.setAttribute("srcset",n),this.s.supportLegacyBrowser))try{picturefill({elements:[r[0]]})}catch(e){console.warn("If you want srcset to be supported for older browsers, please include picturefil javascript library in your document.")}".lg-sub-html"!==this.s.appendSubHtmlTo&&i.addHtml(e),l.default.addClass(i.___slide[e],"lg-loaded")}l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){var t=0;s&&!l.default.hasClass(document.body,"lg-from-hash")&&(t=s),setTimeout(function(){l.default.addClass(i.___slide[e],"lg-complete"),l.default.trigger(i.el,"onSlideItemLoad",{index:e,delay:s||0})},t)}),m&&m.html5&&!o&&l.default.addClass(i.___slide[e],"lg-complete"),!0===t&&(l.default.hasClass(i.___slide[e],"lg-complete")?i.preload(e):l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){i.preload(e)}))},s.prototype.slide=function(e,t,s){for(var i=0,o=0;oi&&(n=!0,e!==a-1||0!==i||s||(u=!0,n=!1)),u?(l.default.addClass(this.___slide[e],"lg-prev-slide"),l.default.addClass(this.___slide[i],"lg-next-slide")):n&&(l.default.addClass(this.___slide[e],"lg-next-slide"),l.default.addClass(this.___slide[i],"lg-prev-slide")),setTimeout(function(){l.default.removeClass(r.outer.querySelector(".lg-current"),"lg-current"),l.default.addClass(r.___slide[e],"lg-current"),l.default.removeClass(r.outer,"lg-no-trans")},50)}r.lGalleryOn?(setTimeout(function(){r.loadContent(e,!0,0)},this.s.speed+50),setTimeout(function(){r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})},this.s.speed)):(r.loadContent(e,!0,r.s.backdropDuration),r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})),r.lGalleryOn=!0,this.s.counter&&document.getElementById("lg-counter-current")&&(document.getElementById("lg-counter-current").innerHTML=e+1)}}},s.prototype.goToNextSlide=function(e){var t=this;t.lgBusy||(t.index+10?(t.index--,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.items.length-1,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(l.default.addClass(t.outer,"lg-left-end"),setTimeout(function(){l.default.removeClass(t.outer,"lg-left-end")},400)))},s.prototype.keyPress=function(){var e=this;this.items.length>1&&l.default.on(window,"keyup.lg",function(t){e.items.length>1&&(37===t.keyCode&&(t.preventDefault(),e.goToPrevSlide()),39===t.keyCode&&(t.preventDefault(),e.goToNextSlide()))}),l.default.on(window,"keydown.lg",function(t){!0===e.s.escKey&&27===t.keyCode&&(t.preventDefault(),l.default.hasClass(e.outer,"lg-thumb-open")?l.default.removeClass(e.outer,"lg-thumb-open"):e.destroy())})},s.prototype.arrow=function(){var e=this;l.default.on(this.outer.querySelector(".lg-prev"),"click.lg",function(){e.goToPrevSlide()}),l.default.on(this.outer.querySelector(".lg-next"),"click.lg",function(){e.goToNextSlide()})},s.prototype.arrowDisable=function(e){if(!this.s.loop&&this.s.hideControlOnEnd){var t=this.outer.querySelector(".lg-next"),s=this.outer.querySelector(".lg-prev");e+10?(s.removeAttribute("disabled"),l.default.removeClass(s,"disabled")):(s.setAttribute("disabled","disabled"),l.default.addClass(s,"disabled"))}},s.prototype.setTranslate=function(e,t,s){this.s.useLeft?e.style.left=t:l.default.setVendor(e,"Transform","translate3d("+t+"px, "+s+"px, 0px)")},s.prototype.touchMove=function(e,t){var s=t-e;Math.abs(s)>15&&(l.default.addClass(this.outer,"lg-dragging"),this.setTranslate(this.___slide[this.index],s,0),this.setTranslate(document.querySelector(".lg-prev-slide"),-this.___slide[this.index].clientWidth+s,0),this.setTranslate(document.querySelector(".lg-next-slide"),this.___slide[this.index].clientWidth+s,0))},s.prototype.touchEnd=function(e){var t=this;"lg-slide"!==t.s.mode&&l.default.addClass(t.outer,"lg-slide");for(var s=0;st.s.swipeThreshold?t.goToNextSlide(!0):e>0&&Math.abs(e)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(e)<5&&l.default.trigger(t.el,"onSlideClick");for(var s=0;s-1&&l.default.addClass(this.___slide[t],"lg-prev-slide"),l.default.addClass(this.___slide[e],"lg-next-slide")},s.prototype.mousewheel=function(){var e=this;l.default.on(e.outer,"mousewheel.lg",function(t){t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())})},s.prototype.closeGallery=function(){var e=this,t=!1;l.default.on(this.outer.querySelector(".lg-close"),"click.lg",function(){e.destroy()}),e.s.closable&&(l.default.on(e.outer,"mousedown.lg",function(e){t=!!(l.default.hasClass(e.target,"lg-outer")||l.default.hasClass(e.target,"lg-item")||l.default.hasClass(e.target,"lg-img-wrap"))}),l.default.on(e.outer,"mouseup.lg",function(s){(l.default.hasClass(s.target,"lg-outer")||l.default.hasClass(s.target,"lg-item")||l.default.hasClass(s.target,"lg-img-wrap")&&t)&&(l.default.hasClass(e.outer,"lg-dragging")||e.destroy())}))},s.prototype.destroy=function(e){var t=this;if(e||l.default.trigger(t.el,"onBeforeClose"),document.body.scrollTop=t.prevScrollTop,document.documentElement.scrollTop=t.prevScrollTop,e){if(!t.s.dynamic)for(var s=0;s offset) {
+ // 执行你想要的操作,比如加载更多内容
+ jQuery('.return-to-last-progress-wrap').css('bottom', '100px');
+ jQuery('.progress-wrap').addClass('active-progress');
+ } else {
+ jQuery('.return-to-last-progress-wrap').css('bottom', '45px');
+ jQuery('.progress-wrap').removeClass('active-progress');
+ }
+ });
+ jQuery('.progress-wrap').on('click', function(event) {
+ event.preventDefault();
+ jQuery('html, body').animate({scrollTop: 0}, duration);
+ return false;
+ })
+
+
+ });
+
+ document.addEventListener('click', function(event) {
+ var lgOn = document.querySelector('.lg-on');
+ if (lgOn) {
+ // 如果页面中存在具有类名 .lg 的元素
+ } else {
+ // 如果页面中不存在具有类名 .lg 的元素
+ // 恢复滚动
+ $('body').css('overflow', 'auto');
+ jQuery('.return-to-last-progress-wrap').addClass('active-progress');
+ }
+ });
+
+ $(document).on('click', '.gallery-item', function (e) {
+ window.scrollTo(0, 0);
+ // 禁止滚动
+ $('body').css('overflow', 'hidden');
+ jQuery('.return-to-last-progress-wrap').removeClass('active-progress');
+ });
+
+ $(document).on('click', '.lg-close', function (e) {
+
+ // 恢复滚动
+ $('body').css('overflow', 'auto');
+ jQuery('.return-to-last-progress-wrap').addClass('active-progress');
+ });
+
+
+
+
+
+
+
+
+
+})(jQuery);
\ No newline at end of file
diff --git a/js/toc.js b/js/toc.js
new file mode 100644
index 0000000..aa861ef
--- /dev/null
+++ b/js/toc.js
@@ -0,0 +1,61 @@
+$(document).ready(function() {
+ var headingCount1 = $("h1").length;
+ var headingCount2 = $("h2").length;
+ var headingCount3 = $("h3").length;
+ var headingCount4 = $("h4").length;
+ var headingCount5 = $("h5").length;
+ var headingCount6 = $("h6").length;
+ var headingCount7 = $("h7").length;
+ var tocHeading = "";
+
+ if (headingCount1 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h1";
+ } else {
+ tocHeading += ",h1"
+ }
+ }
+
+ if (headingCount2 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h2";
+ } else {
+ tocHeading += ",h2"
+ }
+ }
+
+ if (headingCount3 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h3";
+ } else {
+ tocHeading += ",h3"
+ }
+ }
+
+ if (headingCount4 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h4";
+ } else {
+ tocHeading += ",h4"
+ }
+ }
+ if (headingCount5 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h5";
+ } else {
+ tocHeading += ",h5"
+ }
+ }
+
+ if (headingCount6 > 1) {
+ if(tocHeading == "") {
+ tocHeading = "h6";
+ } else {
+ tocHeading += ",h6"
+ }
+ }
+
+ $("#toc").tocify({
+ selectors: tocHeading
+ });
+ });
\ No newline at end of file
diff --git a/js/twikoo.all.min.js b/js/twikoo.all.min.js
new file mode 100644
index 0000000..9ad6ddf
--- /dev/null
+++ b/js/twikoo.all.min.js
@@ -0,0 +1,2 @@
+/*! For license information please see twikoo.all.min.js.LICENSE.txt */
+var e, t; e = this, t = function () { return function () { var e = { 3485: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var r = n(8190); Object.keys(r).forEach((function (e) { "default" !== e && "__esModule" !== e && (e in t && t[e] === r[e] || Object.defineProperty(t, e, { enumerable: !0, get: function () { return r[e] } })) })); var i = n(9565); Object.keys(i).forEach((function (e) { "default" !== e && "__esModule" !== e && (e in t && t[e] === i[e] || Object.defineProperty(t, e, { enumerable: !0, get: function () { return i[e] } })) })) }, 8190: function (e, t) { "use strict"; var n; Object.defineProperty(t, "__esModule", { value: !0 }), t.StorageType = t.AbstractStorage = t.AbstractSDKRequest = void 0, function (e) { e.local = "local", e.none = "none", e.session = "session" }(n || (t.StorageType = n = {})), t.AbstractSDKRequest = function () { }, t.AbstractStorage = function () { } }, 9565: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.formatUrl = function (e, t, n) { void 0 === n && (n = {}); var r = /\?/.test(t), i = ""; for (var o in n) "" === i ? !r && (t += "?") : i += "&", i += o + "=" + encodeURIComponent(n[o]); return /^http(s)?\:\/\//.test(t += i) ? t : "" + e + t } }, 8152: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.LOGINTYPE = t.DATA_VERSION = void 0, t.getEndPoint = function () { return { BASE_URL: l, PROTOCOL: c } }, t.getSdkName = function () { return s }, t.getSdkVersion = function () { return a }, t.setEndPoint = d, t.setRegionLevelEndpoint = function (e, t, n) { d(t ? "//" + e + "." + t + ".tcb-api.tencentcloudapi.com/web" : "//" + e + ".ap-shanghai.tcb-api.tencentcloudapi.com/web", n) }, t.setSdkName = function (e) { s = e, i(e) }, t.setSdkVersion = function (e) { a = e }; var r = n(5508), i = r.constants.setSdkName, o = r.constants.setProtocol, a = "", s = "@cloudbase/js-sdk"; t.DATA_VERSION = "2020-01-10"; var u, c = "undefined" != typeof location && "http:" === location.protocol ? "http:" : "https:", l = "//tcb-api.tencentcloudapi.com/web"; function d(e, t) { l = e, t && (c = t, o(t)) } !function (e) { e.ANONYMOUS = "ANONYMOUS", e.WECHAT = "WECHAT", e.CUSTOM = "CUSTOM", e.NULL = "NULL" }(u || (t.LOGINTYPE = u = {})) }, 6631: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.EVENTS = void 0, t.EVENTS = { LOGIN_STATE_CHANGED: "loginStateChanged", LOGIN_STATE_EXPIRED: "loginStateExpire", LOGIN_TYPE_CHANGED: "loginTypeChanged", ANONYMOUS_CONVERTED: "anonymousConverted", ACCESS_TOKEN_REFRESHD: "refreshAccessToken" } }, 2183: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = t.cloudbase = void 0; var i = r(n(9767)), o = n(5508), a = r(n(9636)), s = n(9540), u = n(2341), c = n(6592), l = n(437), d = n(8152), f = function () { return f = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, f.apply(this, arguments) }, p = function (e, t, n, r) { var o, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(o = e[u]) && (s = (a < 3 ? o(s) : a > 3 ? o(t, n, s) : o(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, h = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, g = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, m = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, v = o.adapters.useAdapters, _ = o.adapters.useDefaultAdapter, y = o.adapters.RUNTIME, b = o.constants.ERRORS, k = o.constants.COMMUNITY_SITE_URL, w = o.utils.printWarn, E = o.helpers.catchErrorsDecorator, x = { timeout: 15e3, persistence: "local" }, A = 6e5, C = {}, I = function () { function e(e) { this._config = e || this._config, this.authInstance = null } return Object.defineProperty(e.prototype, "config", { get: function () { return this._config }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "platform", { get: function () { return u.Platform }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "cache", { get: function () { return (0, c.getCacheByEnvId)(this._config.env) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "localCache", { get: function () { return (0, c.getLocalCache)(this._config.env) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "request", { get: function () { return (0, l.getRequestByEnvId)(this._config.env) }, enumerable: !1, configurable: !0 }), e.prototype.init = function (t) { if (!t.env) throw new Error(JSON.stringify({ code: b.INVALID_PARAMS, msg: "env must not be specified" })); if (u.Platform.adapter || this._useDefaultAdapter(), this.requestClient = new u.Platform.adapter.reqClass({ timeout: t.timeout || 5e3, timeoutMsg: "[" + (0, d.getSdkName)() + "][REQUEST TIMEOUT] request had been abort since didn't finished within" + t.timeout / 1e3 + "s" }), u.Platform.runtime !== y.WEB) { if (!t.appSecret) throw new Error(JSON.stringify({ code: b.INVALID_PARAMS, msg: "invalid appSecret" })); var n = u.Platform.adapter.getAppSign ? u.Platform.adapter.getAppSign() : ""; if (t.appSign && n && t.appSign !== n) throw new Error(JSON.stringify({ code: b.INVALID_PARAMS, msg: "invalid appSign" })); if (n && (t.appSign = n), !t.appSign) throw new Error(JSON.stringify({ code: b.INVALID_PARAMS, msg: "invalid appSign" })) } this._config = f(f({}, x), t), this._config.timeout = this._formatTimeout(this._config.timeout); var r = this._config, i = r.env, o = r.persistence, a = r.debug, s = r.timeout, p = r.appSecret, h = r.appSign; (0, c.initCache)({ env: i, persistence: o, debug: a, platformInfo: this.platform }), (0, l.initRequest)({ env: i, region: t.region || "", timeout: s, appSecret: p, appSign: h }), t.region && (0, d.setRegionLevelEndpoint)(i, t.region || ""); var g = new e(this._config); return g.requestClient = this.requestClient, g }, e.prototype.updateConfig = function (e) { var t = e.persistence, n = e.debug; this._config.persistence = t, this._config.debug = n, (0, c.initCache)({ env: this._config.env, persistence: t, debug: n, platformInfo: this.platform }) }, e.prototype.registerExtension = function (e) { C[e.name] = e }, e.prototype.invokeExtension = function (e, t) { return g(this, void 0, void 0, (function () { var n; return m(this, (function (r) { switch (r.label) { case 0: if (!(n = C[e])) throw new Error(JSON.stringify({ code: b.INVALID_PARAMS, msg: "extension:" + e + " must be registered before invoke" })); return [4, n.invoke(t, this)]; case 1: return [2, r.sent()] } })) })) }, e.prototype.useAdapters = function (e) { var t = v(e) || {}, n = t.adapter, r = t.runtime; n && (u.Platform.adapter = n), r && (u.Platform.runtime = r) }, e.prototype.registerHook = function (t) { (0, s.registerHook)(e, t) }, e.prototype.registerComponent = function (t) { (0, s.registerComponent)(e, t) }, e.prototype.registerVersion = function (e) { (0, d.setSdkVersion)(e) }, e.prototype.registerSdkName = function (e) { (0, d.setSdkName)(e) }, e.prototype.registerEndPoint = function (e, t) { (0, d.setEndPoint)(e, t) }, e.prototype._useDefaultAdapter = function () { var e = _(), t = e.adapter, n = e.runtime; u.Platform.adapter = t, u.Platform.runtime = n }, e.prototype._formatTimeout = function (e) { switch (!0) { case e > A: return w(b.INVALID_PARAMS, "timeout is greater than maximum value[10min]"), A; case e < 100: return w(b.INVALID_PARAMS, "timeout is less than maximum value[100ms]"), 100; default: return e } }, p([E({ mode: "sync", title: "Cloudbase 初始化失败", messages: ["请确认以下各项:", " 1 - 调用 cloudbase.init() 的语法或参数是否正确", " 2 - 如果是非浏览器环境,是否配置了安全应用来源(https://docs.cloudbase.net/api-reference/webv2/adapter.html#jie-ru-liu-cheng)", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + k] }), h("design:type", Function), h("design:paramtypes", [Object]), h("design:returntype", e)], e.prototype, "init", null), p([E({ title: "调用扩展能力失败", messages: ["请确认以下各项:", " 1 - 调用 invokeExtension() 的语法或参数是否正确", " 2 - 被调用的扩展能力是否已经安装并通过 registerExtension() 注册", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + k] }), h("design:type", Function), h("design:paramtypes", [String, Object]), h("design:returntype", Promise)], e.prototype, "invokeExtension", null), e }(), D = t.cloudbase = new I; D.useAdapters(a["default"]), t["default"] = D }, 2341: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.Platform = void 0, t.Platform = {} }, 6592: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.getCacheByEnvId = function (e) { return f[e] }, t.getLocalCache = function (e) { return p[e] }, t.initCache = function (e) { var t = e.env, n = e.persistence, r = e.platformInfo, h = { accessTokenKey: o + "_" + t, accessTokenExpireKey: a + "_" + t, refreshTokenKey: s + "_" + t, anonymousUuidKey: u + "_" + t, loginTypeKey: c + "_" + t, userInfoKey: l + "_" + t }; f[t] ? f[t].updatePersistence(n) : f[t] = new d(i(i({}, e), { keys: h, platformInfo: r, alwaysLocalKeys: ["anonymousUuidKey"] })), p[t] = p[t] || new d(i(i({}, e), { keys: h, platformInfo: r, persistence: "local" })) }; var r = n(5508), i = function () { return i = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, i.apply(this, arguments) }, o = "access_token", a = "access_token_expire", s = "refresh_token", u = "anonymous_uuid", c = "login_type", l = "user_info", d = r.cache.CloudbaseCache, f = {}, p = {} }, 9540: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.registerComponent = function (e, t) { var n = t.name, r = t.namespace, u = t.entity, c = t.injectEvents, l = t.IIFE, d = void 0 !== l && l; if (a[n] || r && e[r]) throw new Error(JSON.stringify({ code: o.INVALID_OPERATION, msg: "Duplicate component " + n })); if (d) { if (!u || "function" != typeof u) throw new Error(JSON.stringify({ code: o.INVALID_PARAMS, msg: "IIFE component's entity must be a function" })); u.call(e) } if (a[n] = t, r ? e.prototype[r] = u : s(e.prototype, u), c) { var f = c.bus, p = c.events; if (!f || !p || 0 === p.length) return; var h = e.prototype.fire || function () { }; e.prototype.events || (e.prototype.events = {}), (e.prototype.events || {})[n] ? e.prototype.events[n].events = i(e.prototype.events[n].events, p) : e.prototype.events[n] = { bus: f, events: p }, e.prototype.fire = function (e, t) { for (var n in h(e, t), this.events) { var r = this.events[n], i = r.bus; if (r.events.includes(e)) { i.fire(e, t); break } } } } }, t.registerHook = function (e, t) { var n = t.entity, r = t.target; if (!e.prototype.hasOwnProperty(r)) throw new Error(JSON.stringify({ code: o.INVALID_OPERATION, msg: "target:" + r + " is not exist" })); var a = e.prototype[r]; if ("function" != typeof a) throw new Error(JSON.stringify({ code: o.INVALID_OPERATION, msg: "target:" + r + " is not a function which is the only type supports hook" })); e.prototype[r] = function () { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; return n.call.apply(n, i([this], e)), a.call.apply(a, i([this], e)) } }; var r = n(5508), i = function () { for (var e = 0, t = 0, n = arguments.length; t < n; t++)e += arguments[t].length; var r = Array(e), i = 0; for (t = 0; t < n; t++)for (var o = arguments[t], a = 0, s = o.length; a < s; a++, i++)r[i] = o[a]; return r }, o = r.constants.ERRORS, a = {}; function s(e, t) { if (!(t instanceof Object)) return t; switch (t.constructor) { case Date: return new Date(t.getTime()); case Object: e === undefined && (e = {}); break; case Array: e = []; break; default: return t }for (var n in t) t.hasOwnProperty(n) && (e[n] = s(e[n], t[n])); return e } }, 437: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.CloudbaseRequest = void 0, t.getRequestByEnvId = function (e) { return w[e] }, t.initRequest = function (e) { w[e.env] = new k(c(c({}, e), { "throw": !0 })) }; var r = n(8152), i = n(5508), o = n(2183), a = n(6592), s = n(6631), u = n(2341), c = function () { return c = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, c.apply(this, arguments) }, l = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, d = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, f = i.constants.ERRORS, p = i.utils.genSeqId, h = i.utils.isFormData, g = i.utils.formatUrl, m = i.utils.createSign, v = i.adapters.RUNTIME, _ = ["auth.getJwt", "auth.logout", "auth.signInWithTicket", "auth.signInAnonymously", "auth.signIn", "auth.fetchAccessTokenWithRefreshToken", "auth.signUpWithEmailAndPassword", "auth.activateEndUserMail", "auth.sendPasswordResetEmail", "auth.resetPasswordWithToken", "auth.isUsernameRegistered"]; function y(e, t, n) { var r = e[t]; e[t] = function (t) { var i = {}, o = {}; n.forEach((function (n) { var r = n.call(e, t), a = r.data, s = r.headers; Object.assign(i, a), Object.assign(o, s) })); var a = t.data; return a && function () { if (h(a)) for (var e in i) a.append(e, i[e]); else t.data = c(c({}, a), i) }(), t.headers = c(c({}, t.headers || {}), o), r.call(e, t) } } function b() { var e = p(); return { data: { seqId: e }, headers: { "X-SDK-Version": "@cloudbase/js-sdk/" + (0, r.getSdkVersion)(), "x-seqid": e } } } var k = t.CloudbaseRequest = function () { function e(e) { this._throwWhenRequestFail = !1, this.config = e, this._reqClass = new u.Platform.adapter.reqClass({ timeout: this.config.timeout, timeoutMsg: "[@cloudbase/js-sdk] 请求在" + this.config.timeout / 1e3 + "s内未完成,已中断", restrictedMethods: ["post"] }), this._throwWhenRequestFail = e["throw"] || !1, this._cache = (0, a.getCacheByEnvId)(this.config.env), this._localCache = (0, a.getLocalCache)(this.config.env), y(this._reqClass, "post", [b]), y(this._reqClass, "upload", [b]), y(this._reqClass, "download", [b]) } return e.prototype.post = function (e) { return l(this, void 0, void 0, (function () { return d(this, (function (t) { switch (t.label) { case 0: return [4, this._reqClass.post(e)]; case 1: return [2, t.sent()] } })) })) }, e.prototype.upload = function (e) { return l(this, void 0, void 0, (function () { return d(this, (function (t) { switch (t.label) { case 0: return [4, this._reqClass.upload(e)]; case 1: return [2, t.sent()] } })) })) }, e.prototype.download = function (e) { return l(this, void 0, void 0, (function () { return d(this, (function (t) { switch (t.label) { case 0: return [4, this._reqClass.download(e)]; case 1: return [2, t.sent()] } })) })) }, e.prototype.refreshAccessToken = function () { return l(this, void 0, void 0, (function () { var e, t, n; return d(this, (function (r) { switch (r.label) { case 0: this._refreshAccessTokenPromise || (this._refreshAccessTokenPromise = this._refreshAccessToken()), r.label = 1; case 1: return r.trys.push([1, 3, , 4]), [4, this._refreshAccessTokenPromise]; case 2: return e = r.sent(), [3, 4]; case 3: return n = r.sent(), t = n, [3, 4]; case 4: if (this._refreshAccessTokenPromise = null, this._shouldRefreshAccessTokenHook = null, t) throw t; return [2, e] } })) })) }, e.prototype.getAccessToken = function () { return l(this, void 0, void 0, (function () { var e, t, n, r, i, o, a, s, u; return d(this, (function (c) { switch (c.label) { case 0: return e = this._cache.keys, t = e.accessTokenKey, n = e.accessTokenExpireKey, r = e.refreshTokenKey, [4, this._cache.getStoreAsync(r)]; case 1: if (!c.sent()) throw new Error(JSON.stringify({ code: f.OPERATION_FAIL, msg: "refresh token is not exist, your local data might be messed up, please retry after clear localStorage or sessionStorage" })); return [4, this._cache.getStoreAsync(t)]; case 2: return i = c.sent(), a = Number, [4, this._cache.getStoreAsync(n)]; case 3: return o = a.apply(void 0, [c.sent()]), s = !0, (u = this._shouldRefreshAccessTokenHook) ? [4, this._shouldRefreshAccessTokenHook(i, o)] : [3, 5]; case 4: u = !c.sent(), c.label = 5; case 5: return u && (s = !1), i && o && !(o < Date.now()) || !s ? [3, 7] : [4, this.refreshAccessToken()]; case 6: return [2, c.sent()]; case 7: return [2, { accessToken: i, accessTokenExpire: o }] } })) })) }, e.prototype.request = function (e, t, n) { return l(this, void 0, void 0, (function () { var i, o, a, s, l, f, p, h, y, b, k, w, E, x, A, C, I, D, O, S, T, M, N, P, F, L; return d(this, (function (d) { switch (d.label) { case 0: return i = "x-tcb-trace_" + this.config.env, o = "application/x-www-form-urlencoded", a = c({ action: e, dataVersion: r.DATA_VERSION, env: this.config.env }, t), -1 !== _.indexOf(e) ? [3, 3] : (s = this._cache.keys.refreshTokenKey, [4, this._cache.getStoreAsync(s)]); case 1: return d.sent() ? (l = a, [4, this.getAccessToken()]) : [3, 3]; case 2: l.access_token = d.sent().accessToken, d.label = 3; case 3: if ("storage.uploadFile" === e) { for (p in f = new FormData) f.hasOwnProperty(p) && f[p] !== undefined && f.append(p, a[p]); o = "multipart/form-data" } else for (p in o = "application/json;charset=UTF-8", f = {}, a) a[p] !== undefined && (f[p] = a[p]); return h = { headers: { "content-type": o } }, (null == n ? void 0 : n.onUploadProgress) && (h.onUploadProgress = n.onUploadProgress), this.config.region && (h.headers["X-TCB-Region"] = this.config.region), (y = this._localCache.getStore(i)) && (h.headers["X-TCB-Trace"] = y), u.Platform.runtime !== v.WEB && (b = this.config, k = b.appSign, w = b.appSecret, E = Date.now(), x = w.appAccessKey, A = w.appAccessKeyId, C = m({ data: {}, timestamp: E, appAccessKeyId: A, appSign: k }, x), h.headers["X-TCB-App-Source"] = "timestamp=" + E + ";appAccessKeyId=" + A + ";appSign=" + k + ";sign=" + C), I = t.parse, D = t.inQuery, O = t.search, S = { env: this.config.env }, I && (S.parse = !0), D && (S = c(c({}, D), S)), T = (0, r.getEndPoint)(), M = T.BASE_URL, N = T.PROTOCOL, P = g(N, M, S), O && (P += O), [4, this.post(c({ url: P, data: f }, h))]; case 4: if (F = d.sent(), (L = F.header && F.header["x-tcb-trace"]) && this._localCache.setStore(i, L), 200 !== Number(F.status) && 200 !== Number(F.statusCode) || !F.data) throw new Error("network request error"); return [2, F] } })) })) }, e.prototype.send = function (e, t) { return void 0 === t && (t = {}), l(this, void 0, void 0, (function () { var n; return d(this, (function (r) { switch (r.label) { case 0: return [4, this.request(e, t, { onUploadProgress: t.onUploadProgress })]; case 1: return "ACCESS_TOKEN_EXPIRED" !== (n = r.sent()).data.code || -1 !== _.indexOf(e) ? [3, 4] : [4, this.refreshAccessToken()]; case 2: return r.sent(), [4, this.request(e, t, { onUploadProgress: t.onUploadProgress })]; case 3: n = r.sent(), r.label = 4; case 4: if (n.data.code && this._throwWhenRequestFail) throw new Error(JSON.stringify({ code: f.OPERATION_FAIL, msg: "[" + n.data.code + "] " + n.data.message })); return [2, n.data] } })) })) }, e.prototype._refreshAccessToken = function (e) { return void 0 === e && (e = 1), l(this, void 0, void 0, (function () { var t, n, i, a, u, c, l, p, h, g, m, v, _; return d(this, (function (d) { switch (d.label) { case 0: return t = this._cache.keys, n = t.accessTokenKey, i = t.accessTokenExpireKey, a = t.refreshTokenKey, u = t.loginTypeKey, c = t.anonymousUuidKey, [4, this._cache.removeStoreAsync(n)]; case 1: return d.sent(), [4, this._cache.removeStoreAsync(i)]; case 2: return d.sent(), [4, this._cache.getStoreAsync(a)]; case 3: if (!(l = d.sent())) throw new Error(JSON.stringify({ code: f.INVALID_OPERATION, msg: "not login" })); return p = { refresh_token: l }, [4, this.request("auth.fetchAccessTokenWithRefreshToken", p)]; case 4: return (h = d.sent()).data.code ? "SIGN_PARAM_INVALID" !== (g = h.data.code) && "REFRESH_TOKEN_EXPIRED" !== g && "INVALID_REFRESH_TOKEN" !== g ? [3, 11] : [4, this._cache.getStoreAsync(u)] : [3, 12]; case 5: return d.sent() === r.LOGINTYPE.ANONYMOUS && "INVALID_REFRESH_TOKEN" === g ? [4, this._cache.getStoreAsync(c)] : [3, 9]; case 6: return m = d.sent(), [4, this._cache.getStoreAsync(a)]; case 7: return v = d.sent(), [4, this.send("auth.signInAnonymously", { anonymous_uuid: m, refresh_token: v })]; case 8: if (_ = d.sent(), this._setRefreshToken(_.refresh_token), e >= 1) return [2, this._refreshAccessToken(--e)]; throw new Error(JSON.stringify({ code: f.OPERATION_FAIL, message: "重试获取 refresh token 失败" })); case 9: return o.cloudbase.fire(s.EVENTS.LOGIN_STATE_EXPIRED), [4, this._cache.removeStoreAsync(a)]; case 10: d.sent(), d.label = 11; case 11: throw new Error(JSON.stringify({ code: f.NETWORK_ERROR, msg: "refresh access_token failed:" + h.data.code })); case 12: return h.data.access_token ? (o.cloudbase.fire(s.EVENTS.ACCESS_TOKEN_REFRESHD), [4, this._cache.setStoreAsync(n, h.data.access_token)]) : [3, 15]; case 13: return d.sent(), [4, this._cache.setStoreAsync(i, h.data.access_token_expire + Date.now())]; case 14: return d.sent(), [2, { accessToken: h.data.access_token, accessTokenExpire: h.data.access_token_expire }]; case 15: return h.data.refresh_token ? [4, this._cache.removeStoreAsync(a)] : [3, 19]; case 16: return d.sent(), [4, this._cache.setStoreAsync(a, h.data.refresh_token)]; case 17: return d.sent(), [4, this._refreshAccessToken()]; case 18: d.sent(), d.label = 19; case 19: return [2] } })) })) }, e.prototype._setRefreshToken = function (e) { return l(this, void 0, void 0, (function () { var t, n, r, i; return d(this, (function (o) { switch (o.label) { case 0: return t = this._cache.keys, n = t.accessTokenKey, r = t.accessTokenExpireKey, i = t.refreshTokenKey, [4, this._cache.removeStoreAsync(n)]; case 1: return o.sent(), [4, this._cache.removeStoreAsync(r)]; case 2: return o.sent(), [4, this._cache.setStoreAsync(i, e)]; case 3: return o.sent(), [2] } })) })) }, e }(), w = {} }, 2150: function (e, t) { "use strict"; var n; Object.defineProperty(t, "__esModule", { value: !0 }), t.LOGINTYPE = void 0, function (e) { e.ANONYMOUS = "ANONYMOUS", e.WECHAT = "WECHAT", e.WECHAT_PUBLIC = "WECHAT-PUBLIC", e.WECHAT_OPEN = "WECHAT-OPEN", e.CUSTOM = "CUSTOM", e.EMAIL = "EMAIL", e.USERNAME = "USERNAME", e.NULL = "NULL", e.PHONE = "PHONE" }(n || (t.LOGINTYPE = n = {})) }, 9468: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Auth = void 0, Object.defineProperty(t, "AuthProvider", { enumerable: !0, get: function () { return l.AuthProvider } }), t.eventBus = t.LoginState = t.EVENTS = void 0, t.registerAuth = function (e) { try { e.registerComponent(M) } catch (t) { console.warn(t) } }, t.registerProvider = function (e, t) { S.prototype[e] = function (n) { var r = "_" + e; return this[r] || (this[r] = new t(h(h({}, n), this._config))), this[r] } }; var i = r(n(9767)), o = n(5508), a = n(1994), s = n(637), u = n(1847), c = n(2150), l = n(1855), d = n(2431), f = n(902), p = n(5310), h = function () { return h = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, h.apply(this, arguments) }, g = function (e, t, n, r) { var o, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(o = e[u]) && (s = (a < 3 ? o(s) : a > 3 ? o(t, n, s) : o(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, m = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, v = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, _ = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, y = o.events.CloudbaseEventEmitter, b = o.adapters.RUNTIME, k = o.utils.printWarn, w = o.utils.throwError, E = o.utils.transformPhone, x = o.constants.ERRORS, A = o.constants.COMMUNITY_SITE_URL, C = o.helpers.catchErrorsDecorator, I = t.eventBus = new y, D = function () { function e(e) { var t = e.cache, n = e.request; this._cache = t, this._request = n, this._setUserInfo() } return e.prototype.checkLocalInfo = function () { return v(this, void 0, void 0, (function () { return _(this, (function (e) { return this.uid = this._getLocalUserInfo("uid"), this.loginType = this._getLocalUserInfo("loginType"), this.openid = this._getLocalUserInfo("wxOpenId"), this.wxOpenId = this._getLocalUserInfo("wxOpenId"), this.wxPublicId = this._getLocalUserInfo("wxPublicId"), this.unionId = this._getLocalUserInfo("wxUnionId"), this.qqMiniOpenId = this._getLocalUserInfo("qqMiniOpenId"), this.customUserId = this._getLocalUserInfo("customUserId"), this.nickName = this._getLocalUserInfo("nickName"), this.gender = this._getLocalUserInfo("gender"), this.avatarUrl = this._getLocalUserInfo("avatarUrl"), this.email = this._getLocalUserInfo("email"), this.hasPassword = Boolean(this._getLocalUserInfo("hasPassword")), this.phone = this._getLocalUserInfo("phone"), this.username = this._getLocalUserInfo("username"), this.location = { country: this._getLocalUserInfo("country"), province: this._getLocalUserInfo("province"), city: this._getLocalUserInfo("city") }, [2] })) })) }, e.prototype.checkLocalInfoAsync = function () { return v(this, void 0, void 0, (function () { var e, t, n, r, i, o, a, s, u, c, l, d, f, p, h, g, m, v; return _(this, (function (_) { switch (_.label) { case 0: return e = this, [4, this._getLocalUserInfoAsync("uid")]; case 1: return e.uid = _.sent(), t = this, [4, this._getLocalUserInfoAsync("loginType")]; case 2: return t.loginType = _.sent(), n = this, [4, this._getLocalUserInfoAsync("wxOpenId")]; case 3: return n.openid = _.sent(), r = this, [4, this._getLocalUserInfoAsync("wxOpenId")]; case 4: return r.wxOpenId = _.sent(), i = this, [4, this._getLocalUserInfoAsync("wxPublicId")]; case 5: return i.wxPublicId = _.sent(), o = this, [4, this._getLocalUserInfoAsync("wxUnionId")]; case 6: return o.unionId = _.sent(), a = this, [4, this._getLocalUserInfoAsync("qqMiniOpenId")]; case 7: return a.qqMiniOpenId = _.sent(), s = this, [4, this._getLocalUserInfoAsync("customUserId")]; case 8: return s.customUserId = _.sent(), u = this, [4, this._getLocalUserInfoAsync("nickName")]; case 9: return u.nickName = _.sent(), c = this, [4, this._getLocalUserInfoAsync("gender")]; case 10: return c.gender = _.sent(), l = this, [4, this._getLocalUserInfoAsync("avatarUrl")]; case 11: return l.avatarUrl = _.sent(), d = this, [4, this._getLocalUserInfoAsync("email")]; case 12: return d.email = _.sent(), f = this, p = Boolean, [4, this._getLocalUserInfoAsync("hasPassword")]; case 13: return f.hasPassword = p.apply(void 0, [_.sent()]), h = this, [4, this._getLocalUserInfoAsync("phone")]; case 14: return h.phone = _.sent(), g = this, [4, this._getLocalUserInfoAsync("username")]; case 15: return g.username = _.sent(), m = this, v = {}, [4, this._getLocalUserInfoAsync("country")]; case 16: return v.country = _.sent(), [4, this._getLocalUserInfoAsync("province")]; case 17: return v.province = _.sent(), [4, this._getLocalUserInfoAsync("city")]; case 18: return m.location = (v.city = _.sent(), v), [2] } })) })) }, e.prototype.linkWithTicket = function (e) { if ("string" != typeof e) throw new Error("ticket must be string"); return this._request.send("auth.linkWithTicket", { ticket: e }) }, e.prototype.linkWithRedirect = function (e) { e.signInWithRedirect() }, e.prototype.getLinkedUidList = function () { return v(this, void 0, void 0, (function () { var e, t, n, r, i, o; return _(this, (function (a) { switch (a.label) { case 0: return [4, this._request.send("auth.getLinkedUidList", {})]; case 1: for (e = a.sent().data, t = !1, n = e.users, r = 0, i = n; r < i.length; r++)if ((o = i[r]).wxOpenId && o.wxPublicId) { t = !0; break } return [2, { users: n, hasPrimaryUid: t }] } })) })) }, e.prototype.setPrimaryUid = function (e) { return this._request.send("auth.setPrimaryUid", { uid: e }) }, e.prototype.unlink = function (e) { return this._request.send("auth.unlink", { platform: e }) }, e.prototype.update = function (e) { return v(this, void 0, void 0, (function () { var t, n, r, i, o, a, s; return _(this, (function (u) { switch (u.label) { case 0: return t = e.nickName, n = e.gender, r = e.avatarUrl, i = e.province, o = e.country, a = e.city, [4, this._request.send("auth.updateUserInfo", { nickName: t, gender: n, avatarUrl: r, province: i, country: o, city: a })]; case 1: return s = u.sent().data, this._setLocalUserInfo(s), [2] } })) })) }, e.prototype.updatePassword = function (e, t) { return this._request.send("auth.updatePassword", { oldPassword: t, newPassword: e }) }, e.prototype.updateEmail = function (e, t) { return this._request.send("auth.updateEmail", { newEmail: e, password: t }) }, e.prototype.updateUsername = function (e) { return "string" != typeof e && w(x.INVALID_PARAMS, "username must be a string"), this._request.send("auth.updateUsername", { username: e }) }, e.prototype.refresh = function () { return v(this, void 0, void 0, (function () { var e; return _(this, (function (t) { switch (t.label) { case 0: return [4, this._request.send("auth.getUserInfo", {})]; case 1: return e = t.sent().data, this._setLocalUserInfo(e), [2, e] } })) })) }, e.prototype.linkWithPhoneNumber = function (e, t) { return v(this, void 0, void 0, (function () { return _(this, (function (n) { return [2, this._request.send("auth.linkOrUpdatePhoneNumber", { phoneNumber: E(e), phoneCode: t })] })) })) }, e.prototype.updatePhoneNumber = function (e, t) { return v(this, void 0, void 0, (function () { return _(this, (function (n) { return [2, this._request.send("auth.linkOrUpdatePhoneNumber", { phoneNumber: E(e), phoneCode: t })] })) })) }, e.prototype._getLocalUserInfo = function (e) { var t = this._cache.keys.userInfoKey; return this._cache.getStore(t)[e] }, e.prototype._getLocalUserInfoAsync = function (e) { return v(this, void 0, void 0, (function () { var t; return _(this, (function (n) { switch (n.label) { case 0: return t = this._cache.keys.userInfoKey, [4, this._cache.getStoreAsync(t)]; case 1: return [2, n.sent()[e]] } })) })) }, e.prototype._setUserInfo = function () { var e = this, t = this._cache.keys.userInfoKey, n = this._cache.getStore(t);["uid", "loginType", "openid", "wxOpenId", "wxPublicId", "unionId", "qqMiniOpenId", "email", "hasPassword", "customUserId", "nickName", "gender", "avatarUrl", "phone", "username"].forEach((function (t) { e[t] = n[t] })), this.location = { country: n.country, province: n.province, city: n.city } }, e.prototype._setLocalUserInfo = function (e) { var t = this._cache.keys.userInfoKey; this._cache.setStore(t, e), this._setUserInfo() }, g([C({ title: "绑定自定义登录失败", messages: ["请确认以下各项:", " 1 - 调用 User.linkWithTicket() 的语法或参数是否正确", " 2 - 此账户是否已经绑定自定义登录", " 3 - ticket 参数是否归属当前环境", " 4 - 创建 ticket 的自定义登录私钥是否过期", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", Promise)], e.prototype, "linkWithTicket", null), g([C({ title: "绑定第三方登录方式失败", messages: ["请确认以下各项:", " 1 - 调用 User.linkWithRedirect() 的语法或参数是否正确", " 2 - 此账户是否已经绑定此第三方", " 3 - 此第三方是否已经授权", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [Object]), m("design:returntype", void 0)], e.prototype, "linkWithRedirect", null), g([C({ title: "获取账户列表失败", messages: ["请确认以下各项:", " 1 - 调用 User.getLinkedUidList() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "getLinkedUidList", null), g([C({ title: "设置微信主账号失败", messages: ["请确认以下各项:", " 1 - 调用 User.setPrimaryUid() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", void 0)], e.prototype, "setPrimaryUid", null), g([C({ title: "接触绑定失败", messages: ["请确认以下各项:", " 1 - 调用 User.unlink() 的语法或参数是否正确", " 2 - 当前账户是否已经与此登录方式解绑", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", void 0)], e.prototype, "unlink", null), g([C({ title: "更新用户信息失败", messages: ["请确认以下各项:", " 1 - 调用 User.update() 的语法或参数是否正确", " 2 - 用户信息中是否包含非法值", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [Object]), m("design:returntype", Promise)], e.prototype, "update", null), g([C({ title: "更新密码失败", messages: ["请确认以下各项:", " 1 - 调用 User.updatePassword() 的语法或参数是否正确", " 3 - 新密码中是否包含非法字符", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String, String]), m("design:returntype", void 0)], e.prototype, "updatePassword", null), g([C({ title: "更新邮箱地址失败", messages: ["请确认以下各项:", " 1 - 调用 User.updateEmail() 的语法或参数是否正确", " 2 - 当前环境是否开通了邮箱密码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String, String]), m("design:returntype", void 0)], e.prototype, "updateEmail", null), g([C({ title: "更新用户名失败", messages: ["请确认以下各项:", " 1 - 调用 User.updateUsername() 的语法或参数是否正确", " 2 - 当前环境是否开通了用户名密码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", void 0)], e.prototype, "updateUsername", null), g([C({ title: "刷新本地用户信息失败", messages: ["请确认以下各项:", " 1 - 调用 User.refresh() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "refresh", null), g([C({ title: "绑定手机号失败", messages: ["请确认以下各项:", " 1 - 调用 auth().linkWithPhoneNumber() 的语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String, String]), m("design:returntype", Promise)], e.prototype, "linkWithPhoneNumber", null), g([C({ title: "更新手机号失败", messages: ["请确认以下各项:", " 1 - 调用语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String, String]), m("design:returntype", Promise)], e.prototype, "updatePhoneNumber", null), e }(), O = t.LoginState = function () { function e(e) { var t = e.envId, n = e.cache, r = e.request; t || w(x.INVALID_PARAMS, "envId is not defined"), this._cache = n, this.user = new D({ cache: n, request: r }) } return e.prototype.checkLocalState = function () { return v(this, void 0, void 0, (function () { var e, t, n, r, i, o, a; return _(this, (function (s) { return e = this._cache.keys, t = e.refreshTokenKey, n = e.accessTokenKey, r = e.accessTokenExpireKey, i = this._cache.getStore(t), o = this._cache.getStore(n), a = this._cache.getStore(r), this.credential = { refreshToken: i, accessToken: o, accessTokenExpire: a }, this._loginType = this._cache.getStore(this._cache.keys.loginTypeKey), this.user.checkLocalInfo(), [2] })) })) }, e.prototype.checkLocalStateAsync = function () { return v(this, void 0, void 0, (function () { var e, t, n, r, i, o, a, s; return _(this, (function (u) { switch (u.label) { case 0: return e = this._cache.keys, t = e.refreshTokenKey, n = e.accessTokenKey, r = e.accessTokenExpireKey, [4, this._cache.getStoreAsync(t)]; case 1: return i = u.sent(), [4, this._cache.getStoreAsync(n)]; case 2: return o = u.sent(), [4, this._cache.getStoreAsync(r)]; case 3: return a = u.sent(), this.credential = { refreshToken: i, accessToken: o, accessTokenExpire: a }, s = this, [4, this._cache.getStoreAsync(this._cache.keys.loginTypeKey)]; case 4: return s._loginType = u.sent(), [4, this.user.checkLocalInfoAsync()]; case 5: return u.sent(), [2] } })) })) }, Object.defineProperty(e.prototype, "isAnonymousAuth", { get: function () { return this.loginType === c.LOGINTYPE.ANONYMOUS }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "isCustomAuth", { get: function () { return this.loginType === c.LOGINTYPE.CUSTOM }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "isWeixinAuth", { get: function () { return this.loginType === c.LOGINTYPE.WECHAT || this.loginType === c.LOGINTYPE.WECHAT_OPEN || this.loginType === c.LOGINTYPE.WECHAT_PUBLIC }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "isUsernameAuth", { get: function () { return this.loginType === c.LOGINTYPE.USERNAME }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "loginType", { get: function () { return this._loginType }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "isPhoneAuth", { get: function () { return this.loginType === c.LOGINTYPE.PHONE }, enumerable: !1, configurable: !0 }), e }(), S = t.Auth = function () { function e(e) { this._config = e, this._cache = e.cache, this._request = e.request, this._runtime = e.runtime || b.WEB, I.on(T.LOGIN_TYPE_CHANGED, this._onLoginTypeChanged.bind(this)) } return Object.defineProperty(e.prototype, "currentUser", { get: function () { if ("async" !== this._cache.mode) { var e = this.hasLoginState(); return e && e.user || null } k(x.INVALID_OPERATION, "current platform's storage is asynchronous, please use getCurrenUser insteed") }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "loginType", { get: function () { return this._cache.getStore(this._cache.keys.loginTypeKey) }, enumerable: !1, configurable: !0 }), e.prototype.getCurrenUser = function () { return v(this, void 0, void 0, (function () { var e; return _(this, (function (t) { switch (t.label) { case 0: return [4, this.getLoginState()]; case 1: return (e = t.sent()) ? [4, e.user.checkLocalInfoAsync()] : [3, 3]; case 2: return t.sent(), [2, e.user || null]; case 3: return [2, null] } })) })) }, e.prototype.getLoginType = function () { return v(this, void 0, void 0, (function () { return _(this, (function (e) { switch (e.label) { case 0: return [4, this._cache.getStoreAsync(this._cache.keys.loginTypeKey)]; case 1: return [2, e.sent()] } })) })) }, e.prototype.getAccessToken = function () { return v(this, void 0, void 0, (function () { var e; return _(this, (function (t) { switch (t.label) { case 0: return e = {}, [4, this._request.getAccessToken()]; case 1: return [2, (e.accessToken = t.sent().accessToken, e.env = this._config.env, e)] } })) })) }, e.prototype.weixinAuthProvider = function (e) { var t = e.appid, n = e.scope, r = e.state; return this._weixinAuthProvider || (this._weixinAuthProvider = new a.WeixinAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request, runtime: this._runtime }), t, n, r)), this._weixinAuthProvider }, e.prototype.anonymousAuthProvider = function () { return this._anonymousAuthProvider || (this._anonymousAuthProvider = new s.AnonymousAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request }))), this._anonymousAuthProvider }, e.prototype.customAuthProvider = function () { return this._customAuthProvider || (this._customAuthProvider = new u.CustomAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request }))), this._customAuthProvider }, e.prototype.emailAuthProvider = function () { return this._emailAuthProvider || (this._emailAuthProvider = new d.EmailAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request }))), this._emailAuthProvider }, e.prototype.usernameAuthProvider = function () { return this._usernameAuthProvider || (this._usernameAuthProvider = new f.UsernameAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request }))), this._usernameAuthProvider }, e.prototype.phoneAuthProvider = function () { return this._phoneAuthProvider || (this._phoneAuthProvider = new p.PhoneAuthProvider(h(h({}, this._config), { cache: this._cache, request: this._request }))), this._phoneAuthProvider }, e.prototype.signInWithUsernameAndPassword = function (e, t) { return v(this, void 0, void 0, (function () { return _(this, (function (n) { return [2, this.usernameAuthProvider().signIn(e, t)] })) })) }, e.prototype.isUsernameRegistered = function (e) { return v(this, void 0, void 0, (function () { var t; return _(this, (function (n) { switch (n.label) { case 0: return "string" != typeof e && w(x.INVALID_PARAMS, "username must be a string"), [4, this._request.send("auth.isUsernameRegistered", { username: e })]; case 1: return [2, null == (t = n.sent().data) ? void 0 : t.isRegistered] } })) })) }, e.prototype.signInWithEmailAndPassword = function (e, t) { return v(this, void 0, void 0, (function () { return _(this, (function (n) { return [2, this.emailAuthProvider().signIn(e, t)] })) })) }, e.prototype.signUpWithEmailAndPassword = function (e, t) { return v(this, void 0, void 0, (function () { return _(this, (function (n) { return [2, this.emailAuthProvider().signUp(e, t)] })) })) }, e.prototype.sendPasswordResetEmail = function (e) { return v(this, void 0, void 0, (function () { return _(this, (function (t) { return [2, this.emailAuthProvider().resetPassword(e)] })) })) }, e.prototype.signOut = function () { return v(this, void 0, void 0, (function () { var e, t, n, r, i, o, a; return _(this, (function (s) { switch (s.label) { case 0: return e = this._cache.keys, t = e.refreshTokenKey, n = e.accessTokenKey, r = e.accessTokenExpireKey, i = "auth.logout", [4, this._cache.getStoreAsync(t)]; case 1: return (o = s.sent()) ? [4, this._request.send(i, { refresh_token: o })] : [2]; case 2: return a = s.sent(), this._cache.removeStoreAsync(t), this._cache.removeStoreAsync(n), this._cache.removeStoreAsync(r), I.fire(T.LOGIN_STATE_CHANGED), I.fire(T.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: c.LOGINTYPE.NULL, persistence: this._config.persistence }), [2, a] } })) })) }, e.prototype.onLoginStateChanged = function (e) { return v(this, void 0, void 0, (function () { var t, n = this; return _(this, (function (r) { switch (r.label) { case 0: return I.on(T.LOGIN_STATE_CHANGED, (function () { return v(n, void 0, void 0, (function () { var t; return _(this, (function (n) { switch (n.label) { case 0: return [4, this.getLoginState()]; case 1: return t = n.sent(), e.call(this, t), [2] } })) })) })), [4, this.getLoginState()]; case 1: return t = r.sent(), e.call(this, t), [2] } })) })) }, e.prototype.onLoginStateExpired = function (e) { I.on(T.LOGIN_STATE_EXPIRED, e.bind(this)) }, e.prototype.onAccessTokenRefreshed = function (e) { I.on(T.ACCESS_TOKEN_REFRESHD, e.bind(this)) }, e.prototype.onAnonymousConverted = function (e) { I.on(T.ANONYMOUS_CONVERTED, e.bind(this)) }, e.prototype.onLoginTypeChanged = function (e) { var t = this; I.on(T.LOGIN_TYPE_CHANGED, (function () { return v(t, void 0, void 0, (function () { var t; return _(this, (function (n) { switch (n.label) { case 0: return [4, this.getLoginState()]; case 1: return t = n.sent(), e.call(this, t), [2] } })) })) })) }, e.prototype.hasLoginState = function () { if ("async" !== this._cache.mode) { var e = this._cache.keys.refreshTokenKey; if (this._cache.getStore(e)) { var t = new O({ envId: this._config.env, cache: this._cache, request: this._request }); return t.checkLocalState(), t } return null } k(x.INVALID_OPERATION, "current platform's storage is asynchronous, please use getLoginState insteed") }, e.prototype.getLoginState = function () { return v(this, void 0, void 0, (function () { var e, t; return _(this, (function (n) { switch (n.label) { case 0: return e = this._cache.keys.refreshTokenKey, [4, this._cache.getStoreAsync(e)]; case 1: return n.sent() ? [4, (t = new O({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()] : [3, 3]; case 2: return n.sent(), [2, t]; case 3: return [2, null] } })) })) }, e.prototype.shouldRefreshAccessToken = function (e) { this._request._shouldRefreshAccessTokenHook = e.bind(this) }, e.prototype.getUserInfo = function () { return v(this, void 0, void 0, (function () { var e; return _(this, (function (t) { switch (t.label) { case 0: return [4, this._request.send("auth.getUserInfo", {})]; case 1: return (e = t.sent()).code ? [2, e] : [2, h(h({}, e.data), { requestId: e.seqId })] } })) })) }, e.prototype.getAuthHeader = function () { var e = this._cache.keys, t = e.refreshTokenKey, n = e.accessTokenKey, r = this._cache.getStore(t); return { "x-cloudbase-credentials": this._cache.getStore(n) + "/@@/" + r } }, e.prototype.getAuthHeaderAsync = function () { return v(this, void 0, void 0, (function () { var e, t, n, r; return _(this, (function (i) { switch (i.label) { case 0: return [4, this._request.refreshAccessToken()]; case 1: return i.sent(), e = this._cache.keys, t = e.refreshTokenKey, n = e.accessTokenKey, [4, this._cache.getStoreAsync(t)]; case 2: return r = i.sent(), [4, this._cache.getStoreAsync(n)]; case 3: return [2, { "x-cloudbase-credentials": i.sent() + "/@@/" + r }] } })) })) }, e.prototype.sendPhoneCode = function (e) { return v(this, void 0, void 0, (function () { return _(this, (function (t) { switch (t.label) { case 0: return [4, this._request.send("auth.sendPhoneCode", { phoneNumber: E(e) })]; case 1: return [2, "Ok" === t.sent().data.SendStatus] } })) })) }, e.prototype.signUpWithPhoneCode = function (e, t, n) { return v(this, void 0, void 0, (function () { return _(this, (function (r) { return [2, this.phoneAuthProvider().signUp(e, t, n)] })) })) }, e.prototype.signInWithPhoneCodeOrPassword = function (e) { return v(this, void 0, void 0, (function () { return _(this, (function (t) { return [2, this.phoneAuthProvider().signIn(e)] })) })) }, e.prototype.forceResetPwdByPhoneCode = function (e) { return v(this, void 0, void 0, (function () { return _(this, (function (t) { return [2, this.phoneAuthProvider().signIn(h(h({}, e), { signMethod: p.SIGN_METHOD.FORCERESETPWD }))] })) })) }, e.prototype._onLoginTypeChanged = function (e) { return v(this, void 0, void 0, (function () { var t, n, r; return _(this, (function (i) { switch (i.label) { case 0: return t = e.data, n = t.loginType, r = t.persistence, t.env !== this._config.env ? [2] : [4, this._cache.updatePersistenceAsync(r)]; case 1: return i.sent(), [4, this._cache.setStoreAsync(this._cache.keys.loginTypeKey, n)]; case 2: return i.sent(), [2] } })) })) }, g([C({ title: "获取用户信息失败", messages: ["请确认以下各项:", " 1 - 调用 auth().getCurrenUser() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "getCurrenUser", null), g([C({ title: "获取用户是否被占用失败", messages: ["请确认以下各项:", " 1 - 调用 auth().isUsernameRegistered() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", Promise)], e.prototype, "isUsernameRegistered", null), g([C({ title: "用户登出失败", messages: ["请确认以下各项:", " 1 - 调用 auth().signOut() 的语法或参数是否正确", " 2 - 当前用户是否为匿名登录(匿名登录不支持signOut)", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "signOut", null), g([C({ title: "获取本地登录态失败", messages: ["请确认以下各项:", " 1 - 调用 auth().getLoginState() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "getLoginState", null), g([C({ title: "获取用户信息失败", messages: ["请确认以下各项:", " 1 - 是否已登录", " 2 - 调用 auth().getUserInfo() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", []), m("design:returntype", Promise)], e.prototype, "getUserInfo", null), g([C({ title: "发送短信验证码失败", messages: ["请确认以下各项:", " 1 - 调用语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + A] }), m("design:type", Function), m("design:paramtypes", [String]), m("design:returntype", Promise)], e.prototype, "sendPhoneCode", null), e }(), T = t.EVENTS = { LOGIN_STATE_CHANGED: "loginStateChanged", LOGIN_STATE_EXPIRED: "loginStateExpire", LOGIN_TYPE_CHANGED: "loginTypeChanged", ANONYMOUS_CONVERTED: "anonymousConverted", ACCESS_TOKEN_REFRESHD: "refreshAccessToken" }, M = { name: "auth", namespace: "auth", injectEvents: { bus: I, events: [T.LOGIN_TYPE_CHANGED, T.LOGIN_STATE_EXPIRED, T.LOGIN_STATE_CHANGED, T.ACCESS_TOKEN_REFRESHD, T.ANONYMOUS_CONVERTED] }, entity: function (e) { if (void 0 === e && (e = { region: "", persistence: "local" }), this.authInstance) return k(x.INVALID_OPERATION, "every cloudbase instance should has only one auth object"), this.authInstance; var t = this.platform, n = t.adapter, r = t.runtime, i = e.persistence || n.primaryStorage; i && i !== this.config.persistence && this.updateConfig({ persistence: i }); var o = this.config, a = o.env, s = o.persistence, u = o.debug; return this.authInstance = new S({ env: a, region: e.region, persistence: s, debug: u, cache: this.cache, request: this.request, runtime: r }), this.authInstance } }; try { cloudbase.registerComponent(M) } catch (N) { } }, 637: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.AnonymousAuthProvider = void 0; var i, o = r(n(9767)), a = n(1855), s = n(5508), u = n(2150), c = n(9468), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = s.constants.ERRORS, m = s.constants.COMMUNITY_SITE_URL, v = s.utils.throwError, _ = s.utils.isString, y = s.events.addEventListener, b = s.helpers.catchErrorsDecorator; t.AnonymousAuthProvider = function (e) { function t(t) { var n = e.call(this, t) || this; return n._onConverted = n._onConverted.bind(n), y(c.EVENTS.ANONYMOUS_CONVERTED, n._onConverted), n } return l(t, e), t.prototype.signIn = function () { return p(this, void 0, void 0, (function () { var e, t, n, r, i, o, a; return h(this, (function (s) { switch (s.label) { case 0: return [4, this._cache.updatePersistenceAsync("local")]; case 1: return s.sent(), e = this._cache.keys, t = e.anonymousUuidKey, n = e.refreshTokenKey, [4, this._cache.getStoreAsync(t)]; case 2: return r = s.sent(), [4, this._cache.getStoreAsync(n)]; case 3: return i = s.sent(), [4, this._request.send("auth.signInAnonymously", { anonymous_uuid: r, refresh_token: i })]; case 4: return (o = s.sent()).uuid && o.refresh_token ? [4, this._setAnonymousUUID(o.uuid)] : [3, 10]; case 5: return s.sent(), [4, this.setRefreshToken(o.refresh_token)]; case 6: return s.sent(), [4, this._request.refreshAccessToken()]; case 7: return s.sent(), c.eventBus.fire(c.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: u.LOGINTYPE.ANONYMOUS, persistence: "local" }), c.eventBus.fire(c.EVENTS.LOGIN_STATE_CHANGED), [4, (a = new c.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()]; case 8: return s.sent(), [4, a.user.refresh()]; case 9: return s.sent(), [2, a]; case 10: throw new Error(JSON.stringify({ code: g.OPERATION_FAIL, msg: JSON.stringify(o) || "anonymous signIn failed" })) } })) })) }, t.prototype.linkAndRetrieveDataWithTicket = function (e) { return p(this, void 0, void 0, (function () { var t, n, r, i, o, a, s; return h(this, (function (l) { switch (l.label) { case 0: return _(e) || v(g.INVALID_PARAMS, "ticket must be a string"), t = this._cache.keys, n = t.anonymousUuidKey, r = t.refreshTokenKey, [4, this._cache.getStoreAsync(n)]; case 1: return i = l.sent(), [4, this._cache.getStoreAsync(r)]; case 2: return o = l.sent(), [4, this._request.send("auth.linkAndRetrieveDataWithTicket", { anonymous_uuid: i, refresh_token: o, ticket: e })]; case 3: return (a = l.sent()).refresh_token ? [4, this._clearAnonymousUUID()] : [3, 8]; case 4: return l.sent(), [4, this.setRefreshToken(a.refresh_token)]; case 5: return l.sent(), [4, this._request.refreshAccessToken()]; case 6: return l.sent(), c.eventBus.fire(c.EVENTS.ANONYMOUS_CONVERTED, { env: this._config.env }), c.eventBus.fire(c.EVENTS.LOGIN_TYPE_CHANGED, { loginType: u.LOGINTYPE.CUSTOM, persistence: "local" }), [4, (s = new c.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()]; case 7: return l.sent(), [2, s]; case 8: v(g.OPERATION_FAIL, JSON.stringify(a) || "linkAndRetrieveDataWithTicket failed"), l.label = 9; case 9: return [2] } })) })) }, t.prototype._setAnonymousUUID = function (e) { return p(this, void 0, void 0, (function () { var t, n, r; return h(this, (function (i) { switch (i.label) { case 0: return t = this._cache.keys, n = t.anonymousUuidKey, r = t.loginTypeKey, [4, this._cache.removeStoreAsync(n)]; case 1: return i.sent(), [4, this._cache.setStoreAsync(n, e)]; case 2: return i.sent(), [4, this._cache.setStoreAsync(r, u.LOGINTYPE.ANONYMOUS)]; case 3: return i.sent(), [2] } })) })) }, t.prototype._clearAnonymousUUID = function () { return p(this, void 0, void 0, (function () { return h(this, (function (e) { switch (e.label) { case 0: return [4, this._cache.removeStoreAsync(this._cache.keys.anonymousUuidKey)]; case 1: return e.sent(), [2] } })) })) }, t.prototype._onConverted = function (e) { return p(this, void 0, void 0, (function () { return h(this, (function (t) { switch (t.label) { case 0: return e.data.env !== this._config.env ? [2] : [4, this._cache.updatePersistenceAsync(this._config.persistence)]; case 1: return t.sent(), [2] } })) })) }, d([b({ title: "匿名登录失败", messages: ["请确认以下各项:", " 1 - 当前环境是否开启了匿名登录", " 2 - 调用 auth().anonymouseProvider().signIn() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + m] }), f("design:type", Function), f("design:paramtypes", []), f("design:returntype", Promise)], t.prototype, "signIn", null), t }(a.AuthProvider) }, 1855: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.AuthProvider = void 0; var r = n(9468), i = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, o = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }; t.AuthProvider = function () { function e(e) { this._config = e, this._cache = e.cache, this._request = e.request } return e.prototype.checkLocalLoginState = function () { return i(this, void 0, void 0, (function () { var e, t, n, i, a, s; return o(this, (function (o) { switch (o.label) { case 0: return e = this._cache.keys, t = e.accessTokenKey, n = e.accessTokenExpireKey, [4, this._cache.getStoreAsync(t)]; case 1: return i = o.sent(), [4, this._cache.getStoreAsync(n)]; case 2: return a = o.sent(), i ? a && a > Date.now() ? [4, (s = new r.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()] : [3, 4] : [3, 7]; case 3: return o.sent(), [2, s]; case 4: return [4, this._cache.removeStoreAsync(t)]; case 5: return o.sent(), [4, this._cache.removeStoreAsync(n)]; case 6: o.sent(), o.label = 7; case 7: return [2] } })) })) }, e.prototype.setRefreshToken = function (e) { return i(this, void 0, void 0, (function () { var t, n, r, i; return o(this, (function (o) { switch (o.label) { case 0: return t = this._cache.keys, n = t.accessTokenKey, r = t.accessTokenExpireKey, i = t.refreshTokenKey, [4, this._cache.removeStoreAsync(n)]; case 1: return o.sent(), [4, this._cache.removeStoreAsync(r)]; case 2: return o.sent(), [4, this._cache.setStoreAsync(i, e)]; case 3: return o.sent(), [2] } })) })) }, e.prototype.setAccessToken = function (e, t) { return i(this, void 0, void 0, (function () { var n, r, i; return o(this, (function (o) { switch (o.label) { case 0: return n = this._cache.keys, r = n.accessTokenKey, i = n.accessTokenExpireKey, [4, this._cache.setStoreAsync(r, e)]; case 1: return o.sent(), [4, this._cache.setStoreAsync(i, t)]; case 2: return o.sent(), [2] } })) })) }, e.prototype.refreshUserInfo = function () { return i(this, void 0, void 0, (function () { var e; return o(this, (function (t) { switch (t.label) { case 0: return [4, this._request.send("auth.getUserInfo", {})]; case 1: return e = t.sent().data, [4, this.setLocalUserInfo(e)]; case 2: return t.sent(), [2, e] } })) })) }, e.prototype.setLocalUserInfo = function (e) { return i(this, void 0, void 0, (function () { var t; return o(this, (function (n) { switch (n.label) { case 0: return t = this._cache.keys.userInfoKey, [4, this._cache.setStoreAsync(t, e)]; case 1: return n.sent(), [2] } })) })) }, e }() }, 1847: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.CustomAuthProvider = void 0; var i, o = r(n(9767)), a = n(5508), s = n(1855), u = n(2150), c = n(9468), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = a.constants.ERRORS, m = a.constants.COMMUNITY_SITE_URL, v = a.utils.isString, _ = a.helpers.catchErrorsDecorator; t.CustomAuthProvider = function (e) { function t() { return null !== e && e.apply(this, arguments) || this } return l(t, e), t.prototype.signIn = function (e) { return p(this, void 0, void 0, (function () { var t, n, r, i, o, a, s; return h(this, (function (l) { switch (l.label) { case 0: if (!v(e)) throw new Error(JSON.stringify({ code: g.INVALID_PARAMS, msg: "ticket must be a string" })); return t = this._cache.keys.refreshTokenKey, i = (r = this._request).send, o = ["auth.signInWithTicket"], a = { ticket: e }, [4, this._cache.getStoreAsync(t)]; case 1: return [4, i.apply(r, o.concat([(a.refresh_token = l.sent() || "", a)]))]; case 2: return (n = l.sent()).refresh_token ? [4, this.setRefreshToken(n.refresh_token)] : [3, 7]; case 3: return l.sent(), [4, this._request.refreshAccessToken()]; case 4: return l.sent(), c.eventBus.fire(c.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: u.LOGINTYPE.CUSTOM, persistence: this._config.persistence }), c.eventBus.fire(c.EVENTS.LOGIN_STATE_CHANGED), [4, this.refreshUserInfo()]; case 5: return l.sent(), [4, (s = new c.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()]; case 6: return l.sent(), [2, s]; case 7: throw new Error(JSON.stringify({ code: g.OPERATION_FAIL, msg: "custom signIn failed" })) } })) })) }, d([_({ title: "自定义登录失败", messages: ["请确认以下各项:", " 1 - 当前环境是否开启了自定义登录", " 2 - 调用 auth().customAuthProvider().signIn() 的语法或参数是否正确", " 3 - ticket 是否归属于当前环境", " 4 - 创建 ticket 的自定义登录私钥是否过期", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + m] }), f("design:type", Function), f("design:paramtypes", [String]), f("design:returntype", Promise)], t.prototype, "signIn", null), t }(s.AuthProvider) }, 2431: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.EmailAuthProvider = void 0; var i, o = r(n(9767)), a = n(5508), s = n(1855), u = n(2150), c = n(9468), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = a.utils.throwError, m = a.utils.isString, v = a.constants.ERRORS, _ = a.constants.COMMUNITY_SITE_URL, y = a.helpers.catchErrorsDecorator; t.EmailAuthProvider = function (e) { function t() { return null !== e && e.apply(this, arguments) || this } return l(t, e), t.prototype.signIn = function (e, t) { return p(this, void 0, void 0, (function () { var n, r, i, o, a; return h(this, (function (s) { switch (s.label) { case 0: return m(e) || g(v.INVALID_PARAMS, "email must be a string"), n = this._cache.keys.refreshTokenKey, [4, this._request.send("auth.signIn", { loginType: "EMAIL", email: e, password: t, refresh_token: this._cache.getStore(n) || "" })]; case 1: return r = s.sent(), i = r.refresh_token, o = r.access_token, a = r.access_token_expire, i ? [4, this.setRefreshToken(i)] : [3, 8]; case 2: return s.sent(), o && a ? [4, this.setAccessToken(o, a)] : [3, 4]; case 3: return s.sent(), [3, 6]; case 4: return [4, this._request.refreshAccessToken()]; case 5: s.sent(), s.label = 6; case 6: return [4, this.refreshUserInfo()]; case 7: return s.sent(), c.eventBus.fire(c.EVENTS.LOGIN_STATE_CHANGED), c.eventBus.fire(c.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: u.LOGINTYPE.EMAIL, persistence: this._config.persistence }), [2, new c.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })]; case 8: r.code ? g(v.OPERATION_FAIL, "Email login fail[" + r.code + "] " + r.message) : g(v.OPERATION_FAIL, "Email login fail"), s.label = 9; case 9: return [2] } })) })) }, t.prototype.signUp = function (e, t) { return p(this, void 0, void 0, (function () { return h(this, (function (n) { return [2, this._request.send("auth.signUpWithEmailAndPassword", { email: e, password: t })] })) })) }, t.prototype.resetPassword = function (e) { return p(this, void 0, void 0, (function () { return h(this, (function (t) { return [2, this._request.send("auth.sendPasswordResetEmail", { email: e })] })) })) }, t.prototype.resetPasswordWithToken = function (e, t) { return p(this, void 0, void 0, (function () { return h(this, (function (n) { return [2, this._request.send("auth.resetPasswordWithToken", { token: e, newPassword: t })] })) })) }, t.prototype.activate = function (e) { return p(this, void 0, void 0, (function () { return h(this, (function (t) { return [2, this._request.send("auth.activateEndUserMail", { token: e })] })) })) }, d([y({ title: "邮箱密码登录失败", messages: ["请确认以下各项:", " 1 - 调用 auth().emailAuthProvider() 的语法或参数是否正确", " 2 - 当前环境是否开通了邮箱登录", " 3 - 邮箱地址与密码是否匹配", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + _] }), f("design:type", Function), f("design:paramtypes", [String, String]), f("design:returntype", Promise)], t.prototype, "signIn", null), d([y({ title: "邮箱注册失败", messages: ["请确认以下各项:", " 1 - 调用 auth().signUpWithEmailAndPassword() 的语法或参数是否正确", " 2 - 当前环境是否开通了邮箱登录", " 3 - 此邮箱地址是否已经被其他用户占用", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + _] }), f("design:type", Function), f("design:paramtypes", [String, String]), f("design:returntype", Promise)], t.prototype, "signUp", null), d([y({ title: "重置密码失败", messages: ["请确认以下各项:", " 1 - 调用 auth().sendPasswordResetEmail() 的语法或参数是否正确", " 2 - 当前环境是否开通了邮箱登录", " 3 - 此邮箱地址是否已经与当前用户绑定", " 4 - 此邮箱地址是否已经被其他用户占用", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + _] }), f("design:type", Function), f("design:paramtypes", [String]), f("design:returntype", Promise)], t.prototype, "resetPassword", null), d([y({ title: "重置密码失败", messages: ["请确认以下各项:", " 1 - 调用语法或参数是否正确", " 2 - 当前环境是否开通了邮箱登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + _] }), f("design:type", Function), f("design:paramtypes", [String, String]), f("design:returntype", Promise)], t.prototype, "resetPasswordWithToken", null), d([y({ title: "邮箱激活失败", messages: ["请确认以下各项:", " 1 - 调用语法或参数是否正确", " 2 - 当前环境是否开通了邮箱登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + _] }), f("design:type", Function), f("design:paramtypes", [String]), f("design:returntype", Promise)], t.prototype, "activate", null), t }(s.AuthProvider) }, 5310: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.SIGN_METHOD = t.PhoneAuthProvider = void 0; var i, o = r(n(9767)), a = n(5508), s = n(1855), u = n(2150), c = n(9468), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = a.utils.throwError, m = a.utils.isString, v = a.utils.transformPhone, _ = a.constants.ERRORS, y = a.constants.COMMUNITY_SITE_URL, b = a.helpers.catchErrorsDecorator, k = t.SIGN_METHOD = { SIGNIN: "SIGNIN", SIGNUP: "SIGNUP", FORCERESETPWD: "FORCERESETPWD" }; t.PhoneAuthProvider = function (e) { function t() { return null !== e && e.apply(this, arguments) || this } return l(t, e), t.prototype.signIn = function (e) { return p(this, void 0, void 0, (function () { var t, n, r, i, o, a, s, l, d; return h(this, (function (f) { switch (f.label) { case 0: return t = e.phoneNumber, n = e.phoneCode, r = e.password, i = e.signMethod, m(t) || g(_.INVALID_PARAMS, "phoneNumber must be a string"), m(n) || m(r) || g(_.INVALID_PARAMS, "phoneCode or password must be a string"), i || (i = k.SIGNIN), o = this._cache.keys.refreshTokenKey, [4, this._request.send("auth.signIn", { loginType: u.LOGINTYPE.PHONE, phoneNumber: v(t), phoneCode: n, password: r, refresh_token: this._cache.getStore(o) || "", signMethod: i })]; case 1: return a = f.sent(), s = a.refresh_token, l = a.access_token, d = a.access_token_expire, s ? [4, this.setRefreshToken(s)] : [3, 8]; case 2: return f.sent(), l && d ? [4, this.setAccessToken(l, d)] : [3, 4]; case 3: return f.sent(), [3, 6]; case 4: return [4, this._request.refreshAccessToken()]; case 5: f.sent(), f.label = 6; case 6: return [4, this.refreshUserInfo()]; case 7: return f.sent(), c.eventBus.fire(c.EVENTS.LOGIN_STATE_CHANGED), c.eventBus.fire(c.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: u.LOGINTYPE.PHONE, persistence: this._config.persistence }), [2, new c.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })]; case 8: a.code ? g(_.OPERATION_FAIL, "Phone login fail[" + a.code + "] " + a.message) : g(_.OPERATION_FAIL, "Phone login fail"), f.label = 9; case 9: return [2] } })) })) }, t.prototype.signUp = function (e, t, n) { return p(this, void 0, void 0, (function () { return h(this, (function (r) { return [2, this.signIn({ phoneNumber: e, phoneCode: t, password: n, signMethod: k.SIGNUP })] })) })) }, t.prototype.forceResetPwd = function (e, t, n) { return p(this, void 0, void 0, (function () { return h(this, (function (r) { return [2, this.signIn({ phoneNumber: e, phoneCode: t, password: n, signMethod: k.FORCERESETPWD })] })) })) }, d([b({ title: "手机号登录失败", messages: ["请确认以下各项:", " 1 - 调用 auth().SmsAuthProvider() 的语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", " 3 - 短信验证码/密码是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + y] }), f("design:type", Function), f("design:paramtypes", [Object]), f("design:returntype", Promise)], t.prototype, "signIn", null), d([b({ title: "手机短信注册失败", messages: ["请确认以下各项:", " 1 - 调用 auth().signUpWithPhoneCode() 的语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + y] }), f("design:type", Function), f("design:paramtypes", [String, String, String]), f("design:returntype", Promise)], t.prototype, "signUp", null), d([b({ title: "手机密码重置失败", messages: ["请确认以下各项:", " 1 - 调用 auth().forceResetPwd() 的语法或参数是否正确", " 2 - 当前环境是否开通了短信验证码登录", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + y] }), f("design:type", Function), f("design:paramtypes", [String, String, String]), f("design:returntype", Promise)], t.prototype, "forceResetPwd", null), t }(s.AuthProvider) }, 902: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.UsernameAuthProvider = void 0; var i, o = r(n(9767)), a = n(1855), s = n(9468), u = n(2150), c = n(5508), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = c.utils.printWarn, m = c.constants.ERRORS, v = c.constants.COMMUNITY_SITE_URL, _ = c.helpers.catchErrorsDecorator; t.UsernameAuthProvider = function (e) { function t() { return null !== e && e.apply(this, arguments) || this } return l(t, e), t.prototype.signIn = function (e, t) { return p(this, void 0, void 0, (function () { var n, r, i, o, a, c, l, d, f; return h(this, (function (p) { switch (p.label) { case 0: if ("string" != typeof e) throw new Error(JSON.stringify({ code: m.INVALID_PARAMS, msg: "username must be a string" })); return "string" != typeof t && (t = "", g(m.INVALID_PARAMS, "password is empty")), n = this._cache.keys.refreshTokenKey, o = (i = this._request).send, a = ["auth.signIn"], c = { loginType: u.LOGINTYPE.USERNAME, username: e, password: t }, [4, this._cache.getStoreAsync(n)]; case 1: return [4, o.apply(i, a.concat([(c.refresh_token = p.sent() || "", c)]))]; case 2: return r = p.sent(), l = r.refresh_token, d = r.access_token_expire, f = r.access_token, l ? [4, this.setRefreshToken(l)] : [3, 9]; case 3: return p.sent(), f && d ? [4, this.setAccessToken(f, d)] : [3, 5]; case 4: return p.sent(), [3, 7]; case 5: return [4, this._request.refreshAccessToken()]; case 6: p.sent(), p.label = 7; case 7: return [4, this.refreshUserInfo()]; case 8: return p.sent(), s.eventBus.fire(s.EVENTS.LOGIN_STATE_CHANGED), s.eventBus.fire(s.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: u.LOGINTYPE.USERNAME, persistence: this._config.persistence }), [2, new s.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })]; case 9: throw r.code ? new Error(JSON.stringify({ code: m.OPERATION_FAIL, msg: "login by username failed:[" + r.code + "] " + r.message })) : new Error(JSON.stringify({ code: m.OPERATION_FAIL, msg: "login by username failed" })); case 10: return [2] } })) })) }, d([_({ title: "用户名密码登录失败", messages: ["请确认以下各项:", " 1 - 调用 auth().signInWithUsernameAndPassword() 的语法或参数是否正确", " 2 - 当前环境是否开通了用户名密码登录", " 3 - 用户名密码是否匹配", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + v] }), f("design:type", Function), f("design:paramtypes", [String, String]), f("design:returntype", Promise)], t.prototype, "signIn", null), t }(a.AuthProvider) }, 1994: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.WeixinAuthProvider = void 0; var i, o = r(n(9767)), a = n(1855), s = n(5508), u = n(9468), c = n(2150), l = (i = function (e, t) { return i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, i(e, t) }, function (e, t) { function n() { this.constructor = e } i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), d = function (e, t, n, r) { var i, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(i = e[u]) && (s = (a < 3 ? i(s) : a > 3 ? i(t, n, s) : i(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, f = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, o["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, p = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, h = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, g = s.constants.getSdkName, m = s.constants.ERRORS, v = s.constants.COMMUNITY_SITE_URL, _ = s.adapters.RUNTIME, y = s.utils.getQuery, b = s.utils.getHash, k = s.utils.removeParam, w = s.utils.printWarn, E = s.helpers.catchErrorsDecorator; function x() { return y("code") || b("code") } t.WeixinAuthProvider = function (e) { function t(t, n, r, i) { var o = e.call(this, t) || this; return o._runtime = t.runtime, o._appid = n, o._scope = r, o._state = i || "weixin", o } return l(t, e), t.prototype.signIn = function () { return p(this, void 0, void 0, (function () { return h(this, (function (e) { return [2, w(m.OPERATION_FAIL, "API signIn has been deprecated, please use signInWithRedirect insteed")] })) })) }, t.prototype.signInWithRedirect = function () { return p(this, void 0, void 0, (function () { return h(this, (function (e) { return [2, this._redirect()] })) })) }, t.prototype.getRedirectResult = function (e) { return p(this, void 0, void 0, (function () { var t; return h(this, (function (n) { return (t = x()) ? [2, this._signInWithCode(t, e)] : [2, null] })) })) }, t.prototype.getLinkRedirectResult = function (e) { return void 0 === e && (e = {}), p(this, void 0, void 0, (function () { var t, n, r, i, o, a; return h(this, (function (s) { return t = e.withUnionId, n = void 0 !== t && t, (r = x()) ? (i = this._appid, u = this._scope, o = "snsapi_login" === u ? "WECHAT-OPEN" : "WECHAT-PUBLIC", a = this._runtime === _.WX_MP ? "1" : "0", [2, this._request.send("auth.linkWithWeixinCode", { payload: { appid: i, loginType: o, code: r, hybridMiniapp: a, withUnionId: n } })]) : [2, null]; var u })) })) }, t.prototype._redirect = function () { var e = k("code", location.href); e = k("state", e), e = encodeURIComponent(e); var t = "//open.weixin.qq.com/connect/oauth2/authorize"; "snsapi_login" === this._scope && (t = "//open.weixin.qq.com/connect/qrconnect"); try { location.href = t + "?appid=" + this._appid + "&redirect_uri=" + e + "&response_type=code&scope=" + this._scope + "&state=" + this._state + "#wechat_redirect" } catch (n) { throw new Error("[" + g() + "][" + m.UNKOWN_ERROR + "]" + n) } }, t.prototype._signInWithCode = function (e, t) { return p(this, void 0, void 0, (function () { var n, r, i, o, a, s, l, d; return h(this, (function (f) { switch (f.label) { case 0: return n = this._cache.keys, r = n.accessTokenKey, i = n.accessTokenExpireKey, o = n.refreshTokenKey, p = this._scope, a = "snsapi_login" === p ? "WECHAT-OPEN" : "WECHAT-PUBLIC", [4, this._getRefreshTokenByWXCode(this._appid, a, e, t)]; case 1: return s = f.sent(), l = s.refreshToken, [4, this._cache.setStoreAsync(o, l)]; case 2: return f.sent(), s.accessToken ? [4, this._cache.setStoreAsync(r, s.accessToken)] : [3, 4]; case 3: f.sent(), f.label = 4; case 4: return s.accessTokenExpire ? [4, this._cache.setStoreAsync(i, String(s.accessTokenExpire + Date.now()))] : [3, 6]; case 5: f.sent(), f.label = 6; case 6: return u.eventBus.fire(u.EVENTS.LOGIN_STATE_CHANGED), u.eventBus.fire(u.EVENTS.LOGIN_TYPE_CHANGED, { env: this._config.env, loginType: c.LOGINTYPE.WECHAT, persistence: this._config.persistence }), [4, this.refreshUserInfo()]; case 7: return f.sent(), [4, (d = new u.LoginState({ envId: this._config.env, cache: this._cache, request: this._request })).checkLocalStateAsync()]; case 8: return f.sent(), [2, d] }var p })) })) }, t.prototype._getRefreshTokenByWXCode = function (e, t, n, r) { return void 0 === r && (r = {}), p(this, void 0, void 0, (function () { var i, o, a, s, u, c; return h(this, (function (l) { return i = r.withUnionId, o = void 0 !== i && i, a = r.createUser, s = void 0 === a || a, u = "snsapi_base" !== this._scope && (r.syncUserInfo || !1), c = this._runtime === _.WX_MP ? "1" : "0", [2, this._request.send("auth.signIn", { appid: e, loginType: t, hybridMiniapp: c, syncUserInfo: u, loginCredential: n, withUnionId: o, createUser: s }).then((function (e) { if (e.code) throw new Error("[" + g() + "][" + m.OPERATION_FAIL + "] failed login via wechat: " + e.code); if (e.refresh_token) return { refreshToken: e.refresh_token, accessToken: e.access_token, accessTokenExpire: e.access_token_expire }; throw new Error("[" + g() + "][" + m.OPERATION_FAIL + "] action:getJwt not return refreshToken") }))] })) })) }, d([E({ title: "跳转微信公众号授权失败", messages: ["请确认以下各项:", " 1 - 调用 auth().weixinAuthProvider().signInWithRedirect() 的语法或参数是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + v] }), f("design:type", Function), f("design:paramtypes", []), f("design:returntype", Promise)], t.prototype, "signInWithRedirect", null), d([E({ title: "微信公众号登录失败", messages: ["请确认以下各项:", " 1 - 调用 auth().weixinAuthProvider().getRedirectResult() 的语法或参数是否正确", " 2 - 当前环境是否开通了微信公众号登录授权", " 3 - 微信公众号的 AppId 与 AppSecret 配置是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + v] }), f("design:type", Function), f("design:paramtypes", [Object]), f("design:returntype", Promise)], t.prototype, "getRedirectResult", null), d([E({ title: "获取微信重定向绑定结果", messages: ["请确认以下各项:", " 1 - 调用 auth().weixinAuthProvider().getLinkRedirectResult() 的语法或参数是否正确", " 2 - 当前环境是否开通了微信公众号登录授权", " 3 - 微信公众号的 AppId 与 AppSecret 配置是否正确", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + v] }), f("design:type", Function), f("design:paramtypes", [Object]), f("design:returntype", Promise)], t.prototype, "getLinkRedirectResult", null), t }(a.AuthProvider) }, 681: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.registerFunctions = function (e) { try { e.registerComponent(v) } catch (t) { console.warn(t) } }; var i = r(n(9767)), o = n(5508), a = function (e, t, n, r) { var o, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(o = e[u]) && (s = (a < 3 ? o(s) : a > 3 ? o(t, n, s) : o(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, s = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, u = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, c = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, l = o.constants.getSdkName, d = o.constants.ERRORS, f = o.constants.COMMUNITY_SITE_URL, p = o.utils.execCallback, h = o.helpers.catchErrorsDecorator, g = "functions", m = new (function () { function e() { } return e.prototype.callFunction = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a, s, u, f, h, m, v, _; return c(this, (function (c) { switch (c.label) { case 0: if (n = e.name, r = e.data, i = e.query, o = e.parse, a = e.search, !n) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + g + ".callFunction] invalid function name" })); try { s = r ? JSON.stringify(r) : "" } catch (y) { throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + g + ".callFunction] invalid data" })) } u = "functions.invokeFunction", f = { inQuery: i, parse: o, search: a, function_name: n, request_data: s }, h = this.request, c.label = 1; case 1: return c.trys.push([1, 3, , 4]), [4, h.send(u, f)]; case 2: if ((m = c.sent()).code) return [2, p(t, null, m)]; if (v = m.data.response_data, o) return [2, p(t, null, { result: v, requestId: m.requestId })]; try { return v = JSON.parse(m.data.response_data), [2, p(t, null, { result: v, requestId: m.requestId })] } catch (y) { p(t, new Error("[" + l() + "][" + d.INVALID_PARAMS + "][" + g + ".callFunction] response data must be json")) } return [3, 4]; case 3: return _ = c.sent(), p(t, _), [3, 4]; case 4: return [2] } })) })) }, a([h({ customInfo: { className: "Cloudbase", methodName: "callFunction" }, title: "函数调用失败", messages: ["请确认以下各项:", " 1 - 调用 callFunction() 的语法或参数是否正确", " 2 - 当前环境下是否存在此函数", " 3 - 函数安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "callFunction", null), e }()), v = { name: g, entity: { callFunction: m.callFunction } }; try { cloudbase.registerComponent(v) } catch (_) { } }, 7517: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var i = r(n(2183)), o = r(n(1137))["default"].version; i["default"].registerVersion(o); try { window.cloudbase = i["default"] } catch (a) { } t["default"] = i["default"] }, 2216: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.registerProvider = t.registerAuth = void 0; var r = n(9468); t.registerAuth = r.registerAuth, t.registerProvider = r.registerProvider }, 6410: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.registerFunctions = void 0; var r = n(681); t.registerFunctions = r.registerFunctions }, 3588: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.registerStorage = void 0; var r = n(2153); t.registerStorage = r.registerStorage }, 2153: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.registerStorage = function (e) { try { e.registerComponent(b) } catch (t) { console.warn(t) } }; var i = r(n(9767)), o = n(5508), a = function (e, t, n, r) { var o, a = arguments.length, s = a < 3 ? t : null === r ? r = Object.getOwnPropertyDescriptor(t, n) : r; if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, r); else for (var u = e.length - 1; u >= 0; u--)(o = e[u]) && (s = (a < 3 ? o(s) : a > 3 ? o(t, n, s) : o(t, n)) || s); return a > 3 && s && Object.defineProperty(t, n, s), s }, s = function (e, t) { if ("object" === ("undefined" == typeof Reflect ? "undefined" : (0, i["default"])(Reflect)) && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t) }, u = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, c = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, l = o.constants.getSdkName, d = o.constants.ERRORS, f = o.constants.COMMUNITY_SITE_URL, p = o.utils.isArray, h = o.utils.isString, g = o.utils.isPalinObject, m = o.utils.execCallback, v = o.helpers.catchErrorsDecorator, _ = "storage", y = new (function () { function e() { } return e.prototype.uploadFile = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a, s, u, f, p, g, v, y, b, k, w; return c(this, (function (c) { switch (c.label) { case 0: if (n = e.cloudPath, r = e.filePath, i = e.onUploadProgress, !h(n) || !r) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".uploadFile] invalid params" })); return [4, (o = this.request).send("storage.getUploadMetadata", { path: n })]; case 1: return a = c.sent(), s = a.data, u = s.url, f = s.authorization, p = s.token, g = s.fileId, v = s.cosFileId, y = s.download_url, b = a.requestId, k = { key: n, signature: f, "x-cos-meta-fileid": v, success_action_status: "201", "x-cos-security-token": p }, [4, o.upload({ url: u, data: k, file: r, name: n, onUploadProgress: i })]; case 2: return 201 === (w = c.sent()).statusCode ? [2, m(t, null, { fileID: g, download_url: y, requestId: b })] : [2, m(t, new Error("[" + l() + "][" + d.OPERATION_FAIL + "][" + _ + "]:" + w.data))] } })) })) }, e.prototype.getUploadMetadata = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a; return c(this, (function (s) { switch (s.label) { case 0: if (n = e.cloudPath, !h(n)) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".getUploadMetadata] invalid cloudPath" })); r = this.request, i = "storage.getUploadMetadata", s.label = 1; case 1: return s.trys.push([1, 3, , 4]), [4, r.send(i, { path: n })]; case 2: return o = s.sent(), [2, m(t, null, o)]; case 3: return a = s.sent(), [2, m(t, a)]; case 4: return [2] } })) })) }, e.prototype.deleteFile = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a, s; return c(this, (function (u) { switch (u.label) { case 0: if (!(n = e.fileList) || !p(n) || 0 === n.length) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".deleteFile] fileList must not be empty" })); for (r = 0, i = n; r < i.length; r++)if (!(o = i[r]) || !h(o)) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".deleteFile] fileID must be string" })); return [4, this.request.send("storage.batchDeleteFile", { fileid_list: n })]; case 1: return (a = u.sent()).code ? [2, m(t, null, a)] : (s = { fileList: a.data.delete_list, requestId: a.requestId }, [2, m(t, null, s)]) } })) })) }, e.prototype.getTempFileURL = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a, s; return c(this, (function (u) { switch (u.label) { case 0: if (!(n = e.fileList) || !p(n) || 0 === n.length) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".getTempFileURL] fileList must not be empty" })); for (r = [], i = 0, o = n; i < o.length; i++)if (a = o[i], g(a)) { if (!a.hasOwnProperty("fileID") || !a.hasOwnProperty("maxAge")) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".getTempFileURL] file info must include fileID and maxAge" })); r.push({ fileid: a.fileID, max_age: a.maxAge }) } else { if (!h(a)) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".getTempFileURL] invalid fileList" })); r.push({ fileid: a }) } return [4, this.request.send("storage.batchGetDownloadUrl", { file_list: r })]; case 1: return (s = u.sent()).code ? [2, m(t, null, s)] : [2, m(t, null, { fileList: s.data.download_list, requestId: s.requestId })] } })) })) }, e.prototype.downloadFile = function (e, t) { return u(this, void 0, void 0, (function () { var n, r, i, o, a, s; return c(this, (function (u) { switch (u.label) { case 0: if (n = e.fileID, !h(n)) throw new Error(JSON.stringify({ code: d.INVALID_PARAMS, msg: "[" + _ + ".getTempFileURL] fileID must be string" })); return [4, this.getTempFileURL.call(this, { fileList: [{ fileID: n, maxAge: 600 }] })]; case 1: return r = u.sent(), "SUCCESS" !== (i = r.fileList[0]).code ? [2, m(t, i)] : (o = this.request, a = encodeURI(i.download_url), [4, o.download({ url: a })]); case 2: return s = u.sent(), [2, m(t, null, s)] } })) })) }, a([v({ customInfo: { className: "Cloudbase", methodName: "uploadFile" }, title: "上传文件失败", messages: ["请确认以下各项:", " 1 - 调用 uploadFile() 的语法或参数是否正确", " 2 - 当前域名是否在安全域名列表中:https://console.cloud.tencent.com/tcb/env/safety", " 3 - 云存储安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "uploadFile", null), a([v({ customInfo: { className: "Cloudbase", methodName: "getUploadMetadata" }, title: "获取上传元信息失败", messages: ["请确认以下各项:", " 1 - 调用 getUploadMetadata() 的语法或参数是否正确", " 2 - 当前域名是否在安全域名列表中:https://console.cloud.tencent.com/tcb/env/safety", " 3 - 云存储安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "getUploadMetadata", null), a([v({ customInfo: { className: "Cloudbase", methodName: "deleteFile" }, title: "删除文件失败", messages: ["请确认以下各项:", " 1 - 调用 deleteFile() 的语法或参数是否正确", " 2 - 当前域名是否在安全域名列表中:https://console.cloud.tencent.com/tcb/env/safety", " 3 - 云存储安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "deleteFile", null), a([v({ customInfo: { className: "Cloudbase", methodName: "getTempFileURL" }, title: "获取文件下载链接", messages: ["请确认以下各项:", " 1 - 调用 getTempFileURL() 的语法或参数是否正确", " 2 - 当前域名是否在安全域名列表中:https://console.cloud.tencent.com/tcb/env/safety", " 3 - 云存储安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "getTempFileURL", null), a([v({ customInfo: { className: "Cloudbase", methodName: "downloadFile" }, title: "下载文件失败", messages: ["请确认以下各项:", " 1 - 调用 downloadFile() 的语法或参数是否正确", " 2 - 当前域名是否在安全域名列表中:https://console.cloud.tencent.com/tcb/env/safety", " 3 - 云存储安全规则是否限制了当前登录状态访问", "如果问题依然存在,建议到官方问答社区提问或寻找帮助:" + f] }), s("design:type", Function), s("design:paramtypes", [Object, Function]), s("design:returntype", Promise)], e.prototype, "downloadFile", null), e }()), b = { name: _, entity: { uploadFile: y.uploadFile, deleteFile: y.deleteFile, getTempFileURL: y.getTempFileURL, downloadFile: y.downloadFile, getUploadMetadata: y.getUploadMetadata } }; try { cloudbase.registerComponent(b) } catch (k) { } }, 8782: function (e, t, n) { "use strict"; var r = Object.create ? function (e, t, n, r) { r === undefined && (r = n), Object.defineProperty(e, r, { enumerable: !0, get: function () { return t[n] } }) } : function (e, t, n, r) { r === undefined && (r = n), e[r] = t[n] }, i = Object.create ? function (e, t) { Object.defineProperty(e, "default", { enumerable: !0, value: t }) } : function (e, t) { e["default"] = t }, o = function (e) { if (e && e.__esModule) return e; var t = {}; if (null != e) for (var n in e) "default" !== n && Object.hasOwnProperty.call(e, n) && r(t, e, n); return i(t, e), t }; Object.defineProperty(t, "__esModule", { value: !0 }), t.useDefaultAdapter = t.useAdapters = t.RUNTIME = void 0; var a, s = o(n(6780)), u = n(270); !function (e) { e.WEB = "web", e.WX_MP = "wx_mp" }(a = t.RUNTIME || (t.RUNTIME = {})), t.useAdapters = function (e) { for (var t = 0, n = u.isArray(e) ? e : [e]; t < n.length; t++) { var r = n[t], i = r.isMatch, o = r.genAdapter, a = r.runtime; if (i()) return { adapter: o(), runtime: a } } }, t.useDefaultAdapter = function () { return { adapter: s.genAdapter(), runtime: a.WEB } } }, 6780: function (e, t, n) { "use strict"; var r, i = (r = function (e, t) { return r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, r(e, t) }, function (e, t) { function n() { this.constructor = e } r(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), o = function () { return o = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, o.apply(this, arguments) }, a = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, s = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.WebRequest = t.genAdapter = void 0; var u = n(3485), c = n(270), l = n(2275), d = function (e) { function t(t) { var n = e.call(this) || this, r = t.timeout, i = t.timeoutMsg, o = t.restrictedMethods; return n._timeout = r || 0, n._timeoutMsg = i || "请求超时", n._restrictedMethods = o || ["get", "post", "upload", "download"], n } return i(t, e), t.prototype.get = function (e) { return this._request(o(o({}, e), { method: "get" }), this._restrictedMethods.includes("get")) }, t.prototype.post = function (e) { return this._request(o(o({}, e), { method: "post" }), this._restrictedMethods.includes("post")) }, t.prototype.put = function (e) { return this._request(o(o({}, e), { method: "put" })) }, t.prototype.upload = function (e) { var t = e.data, n = e.file, r = e.name, i = new FormData; for (var a in t) i.append(a, t[a]); return i.append("key", r), i.append("file", n), this._request(o(o({}, e), { data: i, method: "post" }), this._restrictedMethods.includes("upload")) }, t.prototype.download = function (e) { return a(this, void 0, void 0, (function () { var t, n, r, i; return s(this, (function (a) { switch (a.label) { case 0: return a.trys.push([0, 2, , 3]), [4, this.get(o(o({}, e), { headers: {}, responseType: "blob" }))]; case 1: return t = a.sent().data, n = window.URL.createObjectURL(new Blob([t])), r = decodeURIComponent(new URL(e.url).pathname.split("/").pop() || ""), (i = document.createElement("a")).href = n, i.setAttribute("download", r), i.style.display = "none", document.body.appendChild(i), i.click(), window.URL.revokeObjectURL(n), document.body.removeChild(i), [3, 3]; case 2: return a.sent(), [3, 3]; case 3: return [2, new Promise((function (t) { t({ statusCode: 200, tempFilePath: e.url }) }))] } })) })) }, t.prototype._request = function (e, t) { var n = this; void 0 === t && (t = !1); var r = String(e.method).toLowerCase() || "get"; return new Promise((function (i) { var o, a, s = e.url, u = e.headers, d = void 0 === u ? {} : u, f = e.data, p = e.responseType, h = e.withCredentials, g = e.body, m = e.onUploadProgress, v = c.formatUrl(l.getProtocol(), s, "get" === r ? f : {}), _ = new XMLHttpRequest; for (var y in _.open(r, v), p && (_.responseType = p), d) _.setRequestHeader(y, d[y]); m && _.upload.addEventListener("progress", m), _.onreadystatechange = function () { var e = {}; if (4 === _.readyState) { var t = _.getAllResponseHeaders().trim().split(/[\r\n]+/), n = {}; t.forEach((function (e) { var t = e.split(": "), r = t.shift().toLowerCase(), i = t.join(": "); n[r] = i })), e.header = n, e.statusCode = _.status; try { e.data = "blob" === p ? _.response : JSON.parse(_.responseText) } catch (r) { e.data = "blob" === p ? _.response : _.responseText } clearTimeout(o), i(e) } }, t && n._timeout && (o = setTimeout((function () { console.warn(n._timeoutMsg), _.abort() }), n._timeout)), a = c.isFormData(f) ? f : "application/x-www-form-urlencoded" === d["content-type"] ? c.toQueryString(f) : g || (f ? JSON.stringify(f) : undefined), h && (_.withCredentials = !0), _.send(a) })) }, t }(u.AbstractSDKRequest); t.WebRequest = d, t.genAdapter = function () { return { root: window, reqClass: d, wsClass: WebSocket, localStorage: localStorage, sessionStorage: sessionStorage } } }, 2275: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.COMMUNITY_SITE_URL = t.IS_DEBUG_MODE = t.getProtocol = t.setProtocol = t.getSdkName = t.setSdkName = void 0; var n = "@cloudbase/js-sdk"; t.setSdkName = function (e) { n = e }, t.getSdkName = function () { return n }; var r = "undefined" != typeof location && "http:" === location.protocol ? "http:" : "https:"; t.setProtocol = function (e) { r = e }, t.getProtocol = function () { return r }, t.IS_DEBUG_MODE = !1, t.COMMUNITY_SITE_URL = "https://support.qq.com/products/148793" }, 2532: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.ERRORS = void 0, t.ERRORS = { INVALID_PARAMS: "INVALID_PARAMS", INVALID_SYNTAX: "INVALID_SYNTAX", INVALID_OPERATION: "INVALID_OPERATION", OPERATION_FAIL: "OPERATION_FAIL", NETWORK_ERROR: "NETWORK_ERROR", UNKOWN_ERROR: "UNKOWN_ERROR" } }, 5753: function (e, t, n) { "use strict"; var r = Object.create ? function (e, t, n, r) { r === undefined && (r = n), Object.defineProperty(e, r, { enumerable: !0, get: function () { return t[n] } }) } : function (e, t, n, r) { r === undefined && (r = n), e[r] = t[n] }, i = function (e, t) { for (var n in e) "default" === n || t.hasOwnProperty(n) || r(t, e, n) }; Object.defineProperty(t, "__esModule", { value: !0 }), i(n(2275), t), i(n(2532), t) }, 1781: function (e, t, n) { "use strict"; var r = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, i = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.catchErrorsDecorator = void 0; var o = n(270), a = n(5753), s = !1; "undefined" != typeof navigator && navigator.userAgent && (s = -1 !== navigator.userAgent.indexOf("Firefox")); var u = s ? /(\.js\/)?__decorate(\$\d+)?<@.*\d$/ : /(\/\w+\.js\.)?__decorate(\$\d+)?\s*\(.*\)$/, c = /https?\:\/\/.+\:\d*\/.*\.js\:\d+\:\d+/; function l(e) { var t = e.err, n = e.className, r = e.methodName, i = e.sourceLink; if (!i) return null; var o, a = t.stack.split("\n"), u = s ? /^catchErrorsDecorator\/<\/descriptor.value@.*\d$/ : new RegExp(n + "\\.descriptor.value\\s*\\[as\\s" + r + "\\]\\s*\\(.*\\)$"), l = s ? /^catchErrorsDecorator\/<\/descriptor.value/ : new RegExp(n + "\\.descriptor.value\\s*\\[as\\s" + r + "\\]"), d = a.findIndex((function (e) { return u.test(e) })); if (-1 !== d) { var f = a.filter((function (e, t) { return t > d })); f.unshift(a[d].replace(l, n + "." + r).replace(c, i)), (o = new Error).stack = (s ? "@debugger" : "Error") + "\n" + f.join("\n") } return o } t.catchErrorsDecorator = function (e) { var t = e.mode, n = void 0 === t ? "async" : t, s = e.customInfo, d = void 0 === s ? {} : s, f = e.title, p = e.messages, h = void 0 === p ? [] : p; return function (e, t, s) { if (a.IS_DEBUG_MODE) { var p = d.className || e.constructor.name, g = d.methodName || t, m = s.value, v = function (e) { var t = "", n = e.stack.split("\n"), r = n.findIndex((function (e) { return u.test(e) })); if (-1 !== r) { var i = c.exec(n[r + 1] || ""); t = i ? i[0] : "" } return t }(new Error); s.value = "sync" === n ? function () { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; var n = l({ err: new Error, className: p, methodName: g, sourceLink: v }); try { return m.apply(this, e) } catch (u) { var r = u, i = u.message, a = { title: f || p + "." + g + " failed", content: [{ type: "error", body: u }] }; if (i && /^\{.*\}$/.test(i)) { var s = JSON.parse(i); a.subtitle = i, s.code && (n ? (n.code = s.code, n.msg = s.msg) : (u.code = s.code, u.message = s.msg), r = n || u, a.content = h.map((function (e) { return { type: "info", body: e } }))) } throw o.printGroupLog(a), r } } : function () { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; return r(this, void 0, void 0, (function () { var t, n, r, a, s, u; return i(this, (function (i) { switch (i.label) { case 0: t = l({ err: new Error, className: p, methodName: g, sourceLink: v }), i.label = 1; case 1: return i.trys.push([1, 3, , 4]), [4, m.apply(this, e)]; case 2: return [2, i.sent()]; case 3: throw n = i.sent(), r = n, a = n.message, s = { title: f || p + "." + g + " failed", content: [{ type: "error", body: n }] }, a && /^\{.*\}$/.test(a) && (u = JSON.parse(a), s.subtitle = u, u.code && (t ? (t.code = u.code, t.message = u.msg) : (n.code = u.code, n.message = u.msg), r = t || n, s.content = h.map((function (e) { return { type: "info", body: e } })))), o.printGroupLog(s), r; case 4: return [2] } })) })) } } } } }, 2469: function (e, t, n) { "use strict"; var r = Object.create ? function (e, t, n, r) { r === undefined && (r = n), Object.defineProperty(e, r, { enumerable: !0, get: function () { return t[n] } }) } : function (e, t, n, r) { r === undefined && (r = n), e[r] = t[n] }, i = function (e, t) { for (var n in e) "default" === n || t.hasOwnProperty(n) || r(t, e, n) }; Object.defineProperty(t, "__esModule", { value: !0 }), i(n(1781), t) }, 5508: function (e, t, n) { "use strict"; var r = Object.create ? function (e, t, n, r) { r === undefined && (r = n), Object.defineProperty(e, r, { enumerable: !0, get: function () { return t[n] } }) } : function (e, t, n, r) { r === undefined && (r = n), e[r] = t[n] }, i = Object.create ? function (e, t) { Object.defineProperty(e, "default", { enumerable: !0, value: t }) } : function (e, t) { e["default"] = t }, o = function (e) { if (e && e.__esModule) return e; var t = {}; if (null != e) for (var n in e) "default" !== n && Object.hasOwnProperty.call(e, n) && r(t, e, n); return i(t, e), t }; Object.defineProperty(t, "__esModule", { value: !0 }), t.helpers = t.utils = t.events = t.cache = t.adapters = t.constants = void 0; var a = o(n(5753)); t.constants = a; var s = o(n(8782)); t.adapters = s; var u = o(n(4088)); t.cache = u; var c = o(n(4841)); t.events = c; var l = o(n(270)); t.utils = l; var d = o(n(2469)); t.helpers = d }, 4088: function (e, t, n) { "use strict"; var r, i = (r = function (e, t) { return r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, r(e, t) }, function (e, t) { function n() { this.constructor = e } r(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), o = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, a = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.CloudbaseCache = void 0; var s = n(3485), u = n(270), c = n(5753), l = function (e) { function t(t) { var n = e.call(this) || this; return n._root = t, t.tcbCacheObject || (t.tcbCacheObject = {}), n } return i(t, e), t.prototype.setItem = function (e, t) { this._root.tcbCacheObject[e] = t }, t.prototype.getItem = function (e) { return this._root.tcbCacheObject[e] }, t.prototype.removeItem = function (e) { delete this._root.tcbCacheObject[e] }, t.prototype.clear = function () { delete this._root.tcbCacheObject }, t }(s.AbstractStorage); function d(e, t) { switch (e) { case "local": default: return t.localStorage ? t.localStorage : (u.printWarn(c.ERRORS.INVALID_PARAMS, "localStorage is not supported on current platform"), new l(t.root)); case "none": return new l(t.root); case "session": return t.sessionStorage ? t.sessionStorage : (u.printWarn(c.ERRORS.INVALID_PARAMS, "sessionStorage is not supported on current platform"), new l(t.root)) } } var f = function () { function e(e) { this.keys = {}; var t = e.persistence, n = e.platformInfo, r = void 0 === n ? {} : n, i = e.keys, o = void 0 === i ? {} : i, a = e.alwaysLocalKeys, s = void 0 === a ? [] : a; this._platformInfo = r, this._alwaysLocalKeys = s, this._storage || (this._persistence = r.adapter.primaryStorage || t, this._storage = d(this._persistence, r.adapter), this.keys = o) } return Object.defineProperty(e.prototype, "mode", { get: function () { return this._storage.mode || "sync" }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "persistence", { get: function () { return this._persistence }, enumerable: !1, configurable: !0 }), e.prototype.updatePersistence = function (e) { if ("async" !== this.mode) { if (e !== this._persistence) { var t = "local" === this._persistence; this._persistence = e; var n = d(e, this._platformInfo.adapter); for (var r in this.keys) { var i = this.keys[r]; if (!t || !this._alwaysLocalKeys.includes(r)) { var o = this._storage.getItem(i); u.isUndefined(o) || u.isNull(o) || (n.setItem(i, o), this._storage.removeItem(i)) } } this._storage = n } } else u.printWarn(c.ERRORS.INVALID_OPERATION, "current platform's storage is asynchronous, please use updatePersistenceAsync insteed") }, e.prototype.updatePersistenceAsync = function (e) { return o(this, void 0, void 0, (function () { var t, n, r, i, o, s, c, l; return a(this, (function (a) { switch (a.label) { case 0: if (e === this._persistence) return [2]; for (i in t = "local" === this._persistence, this._persistence = e, n = d(e, this._platformInfo.adapter), r = [], this.keys) r.push(i); o = 0, a.label = 1; case 1: return o < r.length ? (s = r[o], c = this.keys[s], t && this._alwaysLocalKeys.includes(s) ? [3, 4] : [4, this._storage.getItem(c)]) : [3, 5]; case 2: return l = a.sent(), u.isUndefined(l) || u.isNull(l) ? [3, 4] : (n.setItem(c, l), [4, this._storage.removeItem(c)]); case 3: a.sent(), a.label = 4; case 4: return o++, [3, 1]; case 5: return this._storage = n, [2] } })) })) }, e.prototype.setStore = function (e, t, n) { if ("async" !== this.mode) { if (this._storage) try { var r = { version: n || "localCachev1", content: t }; this._storage.setItem(e, JSON.stringify(r)) } catch (i) { throw new Error(JSON.stringify({ code: c.ERRORS.OPERATION_FAIL, msg: "[" + c.getSdkName() + "][" + c.ERRORS.OPERATION_FAIL + "]setStore failed", info: i })) } } else u.printWarn(c.ERRORS.INVALID_OPERATION, "current platform's storage is asynchronous, please use setStoreAsync insteed") }, e.prototype.setStoreAsync = function (e, t, n) { return o(this, void 0, void 0, (function () { var r; return a(this, (function (i) { switch (i.label) { case 0: if (!this._storage) return [2]; i.label = 1; case 1: return i.trys.push([1, 3, , 4]), r = { version: n || "localCachev1", content: t }, [4, this._storage.setItem(e, JSON.stringify(r))]; case 2: return i.sent(), [3, 4]; case 3: return i.sent(), [2]; case 4: return [2] } })) })) }, e.prototype.getStore = function (e, t) { var n; if ("async" !== this.mode) { try { if ("undefined" != typeof process && (null === (n = process.env) || void 0 === n ? void 0 : n.tcb_token)) return process.env.tcb_token; if (!this._storage) return "" } catch (i) { return "" } t = t || "localCachev1"; var r = this._storage.getItem(e); return r && r.indexOf(t) >= 0 ? JSON.parse(r).content : "" } u.printWarn(c.ERRORS.INVALID_OPERATION, "current platform's storage is asynchronous, please use getStoreAsync insteed") }, e.prototype.getStoreAsync = function (e, t) { var n; return o(this, void 0, void 0, (function () { var r; return a(this, (function (i) { switch (i.label) { case 0: try { if ("undefined" != typeof process && (null === (n = process.env) || void 0 === n ? void 0 : n.tcb_token)) return [2, process.env.tcb_token]; if (!this._storage) return [2, ""] } catch (o) { return [2, ""] } return t = t || "localCachev1", [4, this._storage.getItem(e)]; case 1: return (r = i.sent()) && r.indexOf(t) >= 0 ? [2, JSON.parse(r).content] : [2, ""] } })) })) }, e.prototype.removeStore = function (e) { "async" !== this.mode ? this._storage.removeItem(e) : u.printWarn(c.ERRORS.INVALID_OPERATION, "current platform's storage is asynchronous, please use removeStoreAsync insteed") }, e.prototype.removeStoreAsync = function (e) { return o(this, void 0, void 0, (function () { return a(this, (function (t) { switch (t.label) { case 0: return [4, this._storage.removeItem(e)]; case 1: return t.sent(), [2] } })) })) }, e }(); t.CloudbaseCache = f }, 4841: function (e, t, n) { "use strict"; var r, i = (r = function (e, t) { return r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, r(e, t) }, function (e, t) { function n() { this.constructor = e } r(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), o = function () { for (var e = 0, t = 0, n = arguments.length; t < n; t++)e += arguments[t].length; var r = Array(e), i = 0; for (t = 0; t < n; t++)for (var o = arguments[t], a = 0, s = o.length; a < s; a++, i++)r[i] = o[a]; return r }; Object.defineProperty(t, "__esModule", { value: !0 }), t.removeEventListener = t.activateEvent = t.addEventListener = t.CloudbaseEventEmitter = t.IErrorEvent = t.CloudbaseEvent = void 0; var a = n(270), s = function (e, t) { this.data = t || null, this.name = e }; t.CloudbaseEvent = s; var u = function (e) { function t(t, n) { var r = e.call(this, "error", { error: t, data: n }) || this; return r.error = t, r } return i(t, e), t }(s); t.IErrorEvent = u; var c = function () { function e() { this._listeners = {} } return e.prototype.on = function (e, t) { return function (e, t, n) { n[e] = n[e] || [], n[e].push(t) }(e, t, this._listeners), this }, e.prototype.off = function (e, t) { return function (e, t, n) { if (null == n ? void 0 : n[e]) { var r = n[e].indexOf(t); -1 !== r && n[e].splice(r, 1) } }(e, t, this._listeners), this }, e.prototype.fire = function (e, t) { if (a.isInstanceOf(e, u)) return console.error(e.error), this; var n = a.isString(e) ? new s(e, t || {}) : e, r = n.name; if (this._listens(r)) { n.target = this; for (var i = 0, c = this._listeners[r] ? o(this._listeners[r]) : []; i < c.length; i++)c[i].call(this, n) } return this }, e.prototype._listens = function (e) { return this._listeners[e] && this._listeners[e].length > 0 }, e }(); t.CloudbaseEventEmitter = c; var l = new c; t.addEventListener = function (e, t) { l.on(e, t) }, t.activateEvent = function (e, t) { void 0 === t && (t = {}), l.fire(e, t) }, t.removeEventListener = function (e, t) { l.off(e, t) } }, 270: function (e, t, n) { "use strict"; var r = function (e) { return e && e.__esModule ? e : { "default": e } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.transformPhone = t.sleep = t.printGroupLog = t.throwError = t.printInfo = t.printError = t.printWarn = t.execCallback = t.createPromiseCallback = t.removeParam = t.getHash = t.getQuery = t.toQueryString = t.createSign = t.formatUrl = t.genSeqId = t.isFormData = t.isInstanceOf = t.isNull = t.isPalinObject = t.isUndefined = t.isString = t.isArray = void 0; var i = r(n(2355)), o = r(n(7016)), a = r(n(5172)), s = n(5753); function u(e) { var t = o["default"].stringify(e); return t = (t = (t = t.replace(/=+$/, "")).replace(/\+/g, "-")).replace(/\//g, "_") } t.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, t.isString = function (e) { return "string" == typeof e }, t.isUndefined = function (e) { return void 0 === e }, t.isPalinObject = function (e) { return "[object Object]" === Object.prototype.toString.call(e) }, t.isNull = function (e) { return "[object Null]" === Object.prototype.toString.call(e) }, t.isInstanceOf = function (e, t) { return e instanceof t }, t.isFormData = function (e) { return "[object FormData]" === Object.prototype.toString.call(e) }, t.genSeqId = function () { return Math.random().toString(16).slice(2) }, t.formatUrl = function (e, t, n) { void 0 === n && (n = {}); var r = /\?/.test(t), i = ""; for (var o in n) "" === i ? !r && (t += "?") : i += "&", i += o + "=" + encodeURIComponent(n[o]); return /^http(s)?\:\/\//.test(t += i) ? t : "" + e + t }, t.createSign = function (e, t) { var n = u(a["default"].parse(JSON.stringify({ alg: "HS256", typ: "JWT" }))) + "." + u(a["default"].parse(JSON.stringify(e))); return n + "." + u(i["default"](n, t)) }, t.toQueryString = function (e) { void 0 === e && (e = {}); var t = []; for (var n in e) t.push(n + "=" + encodeURIComponent(e[n])); return t.join("&") }, t.getQuery = function (e, t) { if ("undefined" == typeof window) return !1; var n = t || window.location.search, r = new RegExp("(^|&)" + e + "=([^&]*)(&|$)"), i = n.substr(n.indexOf("?") + 1).match(r); return null != i ? i[2] : "" }, t.getHash = function (e) { if ("undefined" == typeof window) return ""; var t = window.location.hash.match(new RegExp("[#?&/]" + e + "=([^]*)")); return t ? t[1] : "" }, t.removeParam = function (e, t) { var n = t.split("?")[0], r = [], i = -1 !== t.indexOf("?") ? t.split("?")[1] : ""; if ("" !== i) { for (var o = (r = i.split("&")).length - 1; o >= 0; o -= 1)r[o].split("=")[0] === e && r.splice(o, 1); n = n + "?" + r.join("&") } return n }, t.createPromiseCallback = function () { var e; if (!Promise) { (e = function () { }).promise = {}; var t = function () { throw new Error('Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.') }; return Object.defineProperty(e.promise, "then", { get: t }), Object.defineProperty(e.promise, "catch", { get: t }), e } var n = new Promise((function (t, n) { e = function (e, r) { return e ? n(e) : t(r) } })); return e.promise = n, e }, t.execCallback = function (e, t, n) { if (void 0 === n && (n = null), e && "function" == typeof e) return e(t, n); if (t) throw t; return n }, t.printWarn = function (e, t) { console.warn("[" + s.getSdkName() + "][" + e + "]:" + t) }, t.printError = function (e, t) { console.error({ code: e, msg: "[" + s.getSdkName() + "][" + e + "]:" + t }) }, t.printInfo = function (e, t) { console.log("[" + s.getSdkName() + "][" + e + "]:" + t) }, t.throwError = function (e, t) { throw new Error(JSON.stringify({ code: e, msg: "[" + s.getSdkName() + "][" + e + "]:" + t })) }, t.printGroupLog = function (e) { var t = e.title, n = e.subtitle, r = void 0 === n ? "" : n, i = e.content, o = void 0 === i ? [] : i, a = e.printTrace, s = void 0 !== a && a, u = e.collapsed; void 0 !== u && u ? console.groupCollapsed(t, r) : console.group(t, r); for (var c = 0, l = o; c < l.length; c++) { var d = l[c], f = d.type, p = d.body; switch (f) { case "info": console.log(p); break; case "warn": console.warn(p); break; case "error": console.error(p) } } s && console.trace("stack trace:"), console.groupEnd() }, t.sleep = function (e) { return void 0 === e && (e = 0), new Promise((function (t) { return setTimeout(t, e) })) }, t.transformPhone = function (e) { return "+86" + e } }, 2290: function (e, t, n) { "use strict"; var r; n(3330)(n(9767)), function (i) { function o(e, t) { var n = (65535 & e) + (65535 & t); return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n } function a(e, t, n, r, i, a) { return o((s = o(o(t, e), o(r, a))) << (u = i) | s >>> 32 - u, n); var s, u } function s(e, t, n, r, i, o, s) { return a(t & n | ~t & r, e, t, i, o, s) } function u(e, t, n, r, i, o, s) { return a(t & r | n & ~r, e, t, i, o, s) } function c(e, t, n, r, i, o, s) { return a(t ^ n ^ r, e, t, i, o, s) } function l(e, t, n, r, i, o, s) { return a(n ^ (t | ~r), e, t, i, o, s) } function d(e, t) { var n, r, i, a, d; e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t; var f = 1732584193, p = -271733879, h = -1732584194, g = 271733878; for (n = 0; n < e.length; n += 16)r = f, i = p, a = h, d = g, f = s(f, p, h, g, e[n], 7, -680876936), g = s(g, f, p, h, e[n + 1], 12, -389564586), h = s(h, g, f, p, e[n + 2], 17, 606105819), p = s(p, h, g, f, e[n + 3], 22, -1044525330), f = s(f, p, h, g, e[n + 4], 7, -176418897), g = s(g, f, p, h, e[n + 5], 12, 1200080426), h = s(h, g, f, p, e[n + 6], 17, -1473231341), p = s(p, h, g, f, e[n + 7], 22, -45705983), f = s(f, p, h, g, e[n + 8], 7, 1770035416), g = s(g, f, p, h, e[n + 9], 12, -1958414417), h = s(h, g, f, p, e[n + 10], 17, -42063), p = s(p, h, g, f, e[n + 11], 22, -1990404162), f = s(f, p, h, g, e[n + 12], 7, 1804603682), g = s(g, f, p, h, e[n + 13], 12, -40341101), h = s(h, g, f, p, e[n + 14], 17, -1502002290), f = u(f, p = s(p, h, g, f, e[n + 15], 22, 1236535329), h, g, e[n + 1], 5, -165796510), g = u(g, f, p, h, e[n + 6], 9, -1069501632), h = u(h, g, f, p, e[n + 11], 14, 643717713), p = u(p, h, g, f, e[n], 20, -373897302), f = u(f, p, h, g, e[n + 5], 5, -701558691), g = u(g, f, p, h, e[n + 10], 9, 38016083), h = u(h, g, f, p, e[n + 15], 14, -660478335), p = u(p, h, g, f, e[n + 4], 20, -405537848), f = u(f, p, h, g, e[n + 9], 5, 568446438), g = u(g, f, p, h, e[n + 14], 9, -1019803690), h = u(h, g, f, p, e[n + 3], 14, -187363961), p = u(p, h, g, f, e[n + 8], 20, 1163531501), f = u(f, p, h, g, e[n + 13], 5, -1444681467), g = u(g, f, p, h, e[n + 2], 9, -51403784), h = u(h, g, f, p, e[n + 7], 14, 1735328473), f = c(f, p = u(p, h, g, f, e[n + 12], 20, -1926607734), h, g, e[n + 5], 4, -378558), g = c(g, f, p, h, e[n + 8], 11, -2022574463), h = c(h, g, f, p, e[n + 11], 16, 1839030562), p = c(p, h, g, f, e[n + 14], 23, -35309556), f = c(f, p, h, g, e[n + 1], 4, -1530992060), g = c(g, f, p, h, e[n + 4], 11, 1272893353), h = c(h, g, f, p, e[n + 7], 16, -155497632), p = c(p, h, g, f, e[n + 10], 23, -1094730640), f = c(f, p, h, g, e[n + 13], 4, 681279174), g = c(g, f, p, h, e[n], 11, -358537222), h = c(h, g, f, p, e[n + 3], 16, -722521979), p = c(p, h, g, f, e[n + 6], 23, 76029189), f = c(f, p, h, g, e[n + 9], 4, -640364487), g = c(g, f, p, h, e[n + 12], 11, -421815835), h = c(h, g, f, p, e[n + 15], 16, 530742520), f = l(f, p = c(p, h, g, f, e[n + 2], 23, -995338651), h, g, e[n], 6, -198630844), g = l(g, f, p, h, e[n + 7], 10, 1126891415), h = l(h, g, f, p, e[n + 14], 15, -1416354905), p = l(p, h, g, f, e[n + 5], 21, -57434055), f = l(f, p, h, g, e[n + 12], 6, 1700485571), g = l(g, f, p, h, e[n + 3], 10, -1894986606), h = l(h, g, f, p, e[n + 10], 15, -1051523), p = l(p, h, g, f, e[n + 1], 21, -2054922799), f = l(f, p, h, g, e[n + 8], 6, 1873313359), g = l(g, f, p, h, e[n + 15], 10, -30611744), h = l(h, g, f, p, e[n + 6], 15, -1560198380), p = l(p, h, g, f, e[n + 13], 21, 1309151649), f = l(f, p, h, g, e[n + 4], 6, -145523070), g = l(g, f, p, h, e[n + 11], 10, -1120210379), h = l(h, g, f, p, e[n + 2], 15, 718787259), p = l(p, h, g, f, e[n + 9], 21, -343485551), f = o(f, r), p = o(p, i), h = o(h, a), g = o(g, d); return [f, p, h, g] } function f(e) { var t, n = "", r = 32 * e.length; for (t = 0; t < r; t += 8)n += String.fromCharCode(e[t >> 5] >>> t % 32 & 255); return n } function p(e) { var t, n = []; for (n[(e.length >> 2) - 1] = undefined, t = 0; t < n.length; t += 1)n[t] = 0; var r = 8 * e.length; for (t = 0; t < r; t += 8)n[t >> 5] |= (255 & e.charCodeAt(t / 8)) << t % 32; return n } function h(e) { var t, n, r = "0123456789abcdef", i = ""; for (n = 0; n < e.length; n += 1)t = e.charCodeAt(n), i += r.charAt(t >>> 4 & 15) + r.charAt(15 & t); return i } function g(e) { return unescape(encodeURIComponent(e)) } function m(e) { return function (e) { return f(d(p(e), 8 * e.length)) }(g(e)) } function v(e, t) { return function (e, t) { var n, r, i = p(e), o = [], a = []; for (o[15] = a[15] = undefined, i.length > 16 && (i = d(i, 8 * e.length)), n = 0; n < 16; n += 1)o[n] = 909522486 ^ i[n], a[n] = 1549556828 ^ i[n]; return r = d(o.concat(p(t)), 512 + 8 * t.length), f(d(a.concat(r), 640)) }(g(e), g(t)) } function _(e, t, n) { return t ? n ? v(t, e) : h(v(t, e)) : n ? m(e) : h(m(e)) } (r = function () { return _ }.call(t, n, t, e)) === undefined || (e.exports = r) }() }, 9636: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.wxMpStorage = t["default"] = t.WxRequest = t.WxMpWebSocket = void 0; var r, i = n(3485), o = (r = function (e, t) { return r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t } || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]) }, r(e, t) }, function (e, t) { function n() { this.constructor = e } r(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) }), a = function () { return a = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e }, a.apply(this, arguments) }, s = function (e, t, n, r) { return new (n || (n = Promise))((function (i, o) { function a(e) { try { u(r.next(e)) } catch (t) { o(t) } } function s(e) { try { u(r["throw"](e)) } catch (t) { o(t) } } function u(e) { var t; e.done ? i(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(a, s) } u((r = r.apply(e, t || [])).next()) })) }, u = function (e, t) { var n, r, i, o, a = { label: 0, sent: function () { if (1 & i[0]) throw i[1]; return i[1] }, trys: [], ops: [] }; return o = { next: s(0), "throw": s(1), "return": s(2) }, "function" == typeof Symbol && (o[Symbol.iterator] = function () { return this }), o; function s(o) { return function (s) { return function (o) { if (n) throw new TypeError("Generator is already executing."); for (; a;)try { if (n = 1, r && (i = 2 & o[0] ? r["return"] : o[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, o[1])).done) return i; switch (r = 0, i && (o = [2 & o[0], i.value]), o[0]) { case 0: case 1: i = o; break; case 4: return a.label++, { value: o[1], done: !1 }; case 5: a.label++, r = o[1], o = [0]; continue; case 7: o = a.ops.pop(), a.trys.pop(); continue; default: if (!((i = (i = a.trys).length > 0 && i[i.length - 1]) || 6 !== o[0] && 2 !== o[0])) { a = 0; continue } if (3 === o[0] && (!i || o[1] > i[0] && o[1] < i[3])) { a.label = o[1]; break } if (6 === o[0] && a.label < i[1]) { a.label = i[1], i = o; break } if (i && a.label < i[2]) { a.label = i[2], a.ops.push(o); break } i[2] && a.ops.pop(), a.trys.pop(); continue }o = t.call(e, a) } catch (s) { o = [6, s], r = 0 } finally { n = i = 0 } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0 } }([o, s]) } } }, c = t.WxRequest = function (e) { function t(t) { void 0 === t && (t = {}); var n = e.call(this) || this, r = t.timeout, i = t.timeoutMsg, o = t.restrictedMethods; return n._timeout = r || 0, n._timeoutMsg = i || "请求超时", n._restrictedMethods = o || ["get", "post", "upload", "download"], n } return o(t, e), t.prototype.post = function (e) { var t = this; return new Promise((function (n, r) { var o = e.url, a = e.data, s = e.headers, u = wx.request({ url: (0, i.formatUrl)("https:", o), data: a, timeout: t._timeout, method: "POST", header: s, success: function (e) { n(e) }, fail: function (e) { r(e) }, complete: function (e) { if (e && e.errMsg && t._timeout && -1 !== t._restrictedMethods.indexOf("post") && "request:fail timeout" === e.errMsg) { console.warn(t._timeoutMsg); try { u.abort() } catch (n) { } } } }) })) }, t.prototype.upload = function (e) { var t = this, n = this; return new Promise((function (r) { return s(t, void 0, void 0, (function () { var t, i, o, s, c, l; return u(this, (function (u) { return t = e.url, i = e.file, o = e.data, s = e.headers, c = e.onUploadProgress, l = wx.uploadFile({ url: t, filePath: i, name: "file", formData: a({}, o), header: s, timeout: this._timeout, success: function (e) { var t = { statusCode: e.statusCode, data: e.data || {} }; 200 === e.statusCode && o.success_action_status && (t.statusCode = parseInt(o.success_action_status, 10)), r(t) }, fail: function (e) { r(e) }, complete: function (e) { if (e && e.errMsg && n._timeout && -1 !== n._restrictedMethods.indexOf("upload") && "request:fail timeout" === e.errMsg) { console.warn(n._timeoutMsg); try { l.abort() } catch (t) { } } } }), c && l.onProgressUpdate((function (e) { c(e) })), [2] })) })) })) }, t.prototype.download = function (e) { var t = this, n = this; return new Promise((function (r, o) { var a = e.url, s = e.headers, u = wx.downloadFile({ url: (0, i.formatUrl)("https:", a), header: s, timeout: t._timeout, success: function (e) { 200 === e.statusCode && e.tempFilePath ? r({ statusCode: 200, tempFilePath: e.tempFilePath }) : r(e) }, fail: function (e) { o(e) }, complete: function (e) { if (e && e.errMsg && n._timeout && -1 !== n._restrictedMethods.indexOf("download") && "request:fail timeout" === e.errMsg) { console.warn(n._timeoutMsg); try { u.abort() } catch (t) { } } } }) })) }, t }(i.AbstractSDKRequest), l = t.wxMpStorage = { setItem: function (e, t) { wx.setStorageSync(e, t) }, getItem: function (e) { return wx.getStorageSync(e) }, removeItem: function (e) { wx.removeStorageSync(e) }, clear: function () { wx.clearStorageSync() } }, d = t.WxMpWebSocket = function (e, t) { void 0 === t && (t = {}); var n = wx.connectSocket(a({ url: e }, t)); return { set onopen(e) { n.onOpen(e) }, set onmessage(e) { n.onMessage(e) }, set onclose(e) { n.onClose(e) }, set onerror(e) { n.onError(e) }, send: function (e) { return n.send({ data: e }) }, close: function (e, t) { return n.close({ code: e, reason: t }) }, get readyState() { return n.readyState }, CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3 } }, f = { genAdapter: function () { return { root: {}, reqClass: c, wsClass: d, localStorage: l, primaryStorage: i.StorageType.local, getAppSign: function () { var e = wx.getAccountInfoSync(); return "undefined" != typeof App || "undefined" != typeof getApp || wx.onAppHide || wx.offAppHide || wx.onAppShow || wx.offAppShow ? e && e.miniProgram ? e.miniProgram.appId : "" : e && e.plugin ? e.plugin.appId : "" } } }, isMatch: function () { if ("undefined" == typeof wx) return !1; if ("undefined" == typeof Page) return !1; if (!wx.getSystemInfoSync) return !1; if (!wx.getStorageSync) return !1; if (!wx.setStorageSync) return !1; if (!wx.connectSocket) return !1; if (!wx.request) return !1; try { if (!wx.getSystemInfoSync()) return !1; if ("qq" === wx.getSystemInfoSync().AppPlatform) return !1 } catch (e) { return !1 } return !0 }, runtime: "wx_mp" }; t["default"] = f }, 8149: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function () { var e = e || function (e, t) { var n = Object.create || function () { function e() { } return function (t) { var n; return e.prototype = t, n = new e, e.prototype = null, n } }(), r = {}, i = r.lib = {}, o = i.Base = { extend: function (e) { var t = n(this); return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function () { t.$super.init.apply(this, arguments) }), t.init.prototype = t, t.$super = this, t }, create: function () { var e = this.extend(); return e.init.apply(e, arguments), e }, init: function () { }, mixIn: function (e) { for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); e.hasOwnProperty("toString") && (this.toString = e.toString) }, clone: function () { return this.init.prototype.extend(this) } }, a = i.WordArray = o.extend({ init: function (e, t) { e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length }, toString: function (e) { return (e || u).stringify(this) }, concat: function (e) { var t = this.words, n = e.words, r = this.sigBytes, i = e.sigBytes; if (this.clamp(), r % 4) for (var o = 0; o < i; o++) { var a = n[o >>> 2] >>> 24 - o % 4 * 8 & 255; t[r + o >>> 2] |= a << 24 - (r + o) % 4 * 8 } else for (o = 0; o < i; o += 4)t[r + o >>> 2] = n[o >>> 2]; return this.sigBytes += i, this }, clamp: function () { var t = this.words, n = this.sigBytes; t[n >>> 2] &= 4294967295 << 32 - n % 4 * 8, t.length = e.ceil(n / 4) }, clone: function () { var e = o.clone.call(this); return e.words = this.words.slice(0), e }, random: function (t) { for (var n, r = [], i = function (t) { var n = 987654321, r = 4294967295; return function () { var i = ((n = 36969 * (65535 & n) + (n >> 16) & r) << 16) + (t = 18e3 * (65535 & t) + (t >> 16) & r) & r; return i /= 4294967296, (i += .5) * (e.random() > .5 ? 1 : -1) } }, o = 0; o < t; o += 4) { var s = i(4294967296 * (n || e.random())); n = 987654071 * s(), r.push(4294967296 * s() | 0) } return new a.init(r, t) } }), s = r.enc = {}, u = s.Hex = { stringify: function (e) { for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) { var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255; r.push((o >>> 4).toString(16)), r.push((15 & o).toString(16)) } return r.join("") }, parse: function (e) { for (var t = e.length, n = [], r = 0; r < t; r += 2)n[r >>> 3] |= parseInt(e.substr(r, 2), 16) << 24 - r % 8 * 4; return new a.init(n, t / 2) } }, c = s.Latin1 = { stringify: function (e) { for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) { var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255; r.push(String.fromCharCode(o)) } return r.join("") }, parse: function (e) { for (var t = e.length, n = [], r = 0; r < t; r++)n[r >>> 2] |= (255 & e.charCodeAt(r)) << 24 - r % 4 * 8; return new a.init(n, t) } }, l = s.Utf8 = { stringify: function (e) { try { return decodeURIComponent(escape(c.stringify(e))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (e) { return c.parse(unescape(encodeURIComponent(e))) } }, d = i.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new a.init, this._nDataBytes = 0 }, _append: function (e) { "string" == typeof e && (e = l.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes }, _process: function (t) { var n = this._data, r = n.words, i = n.sigBytes, o = this.blockSize, s = i / (4 * o), u = (s = t ? e.ceil(s) : e.max((0 | s) - this._minBufferSize, 0)) * o, c = e.min(4 * u, i); if (u) { for (var l = 0; l < u; l += o)this._doProcessBlock(r, l); var d = r.splice(0, u); n.sigBytes -= c } return new a.init(d, c) }, clone: function () { var e = o.clone.call(this); return e._data = this._data.clone(), e }, _minBufferSize: 0 }), f = (i.Hasher = d.extend({ cfg: o.extend(), init: function (e) { this.cfg = this.cfg.extend(e), this.reset() }, reset: function () { d.reset.call(this), this._doReset() }, update: function (e) { return this._append(e), this._process(), this }, finalize: function (e) { return e && this._append(e), this._doFinalize() }, blockSize: 16, _createHelper: function (e) { return function (t, n) { return new e.init(n).finalize(t) } }, _createHmacHelper: function (e) { return function (t, n) { return new f.HMAC.init(e, n).finalize(t) } } }), r.algo = {}); return r }(Math); return e }, "object" === (0, s["default"])(t) ? e.exports = t = a() : (i = [], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 7016: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function (e) { var t, n; return n = (t = e).lib.WordArray, t.enc.Base64 = { stringify: function (e) { var t = e.words, n = e.sigBytes, r = this._map; e.clamp(); for (var i = [], o = 0; o < n; o += 3)for (var a = (t[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, s = 0; s < 4 && o + .75 * s < n; s++)i.push(r.charAt(a >>> 6 * (3 - s) & 63)); var u = r.charAt(64); if (u) for (; i.length % 4;)i.push(u); return i.join("") }, parse: function (e) { var t = e.length, r = this._map, i = this._reverseMap; if (!i) { i = this._reverseMap = []; for (var o = 0; o < r.length; o++)i[r.charCodeAt(o)] = o } var a = r.charAt(64); if (a) { var s = e.indexOf(a); -1 !== s && (t = s) } return function (e, t, r) { for (var i = [], o = 0, a = 0; a < t; a++)if (a % 4) { var s = r[e.charCodeAt(a - 1)] << a % 4 * 2, u = r[e.charCodeAt(a)] >>> 6 - a % 4 * 2; i[o >>> 2] |= (s | u) << 24 - o % 4 * 8, o++ } return n.create(i, o) }(e, t, i) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, e.enc.Base64 }, "object" === (0, s["default"])(t) ? e.exports = t = a(n(8149)) : (i = [n(8149)], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 5172: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function (e) { return e.enc.Utf8 }, "object" === (0, s["default"])(t) ? e.exports = t = a(n(8149)) : (i = [n(8149)], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 2355: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function (e) { return e.HmacSHA256 }, "object" === (0, s["default"])(t) ? e.exports = t = a(n(8149), n(213), n(151)) : (i = [n(8149), n(213), n(151)], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 151: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function (e) { var t, n, r; n = (t = e).lib.Base, r = t.enc.Utf8, t.algo.HMAC = n.extend({ init: function (e, t) { e = this._hasher = new e.init, "string" == typeof t && (t = r.parse(t)); var n = e.blockSize, i = 4 * n; t.sigBytes > i && (t = e.finalize(t)), t.clamp(); for (var o = this._oKey = t.clone(), a = this._iKey = t.clone(), s = o.words, u = a.words, c = 0; c < n; c++)s[c] ^= 1549556828, u[c] ^= 909522486; o.sigBytes = a.sigBytes = i, this.reset() }, reset: function () { var e = this._hasher; e.reset(), e.update(this._iKey) }, update: function (e) { return this._hasher.update(e), this }, finalize: function (e) { var t = this._hasher, n = t.finalize(e); return t.reset(), t.finalize(this._oKey.clone().concat(n)) } }) }, "object" === (0, s["default"])(t) ? e.exports = t = a(n(8149)) : (i = [n(8149)], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 213: function (e, t, n) { "use strict"; var r, i, o, a, s = n(3330)(n(9767)); a = function (e) { return function (t) { var n = e, r = n.lib, i = r.WordArray, o = r.Hasher, a = n.algo, s = [], u = []; !function () { function e(e) { for (var n = t.sqrt(e), r = 2; r <= n; r++)if (!(e % r)) return !1; return !0 } function n(e) { return 4294967296 * (e - (0 | e)) | 0 } for (var r = 2, i = 0; i < 64;)e(r) && (i < 8 && (s[i] = n(t.pow(r, .5))), u[i] = n(t.pow(r, 1 / 3)), i++), r++ }(); var c = [], l = a.SHA256 = o.extend({ _doReset: function () { this._hash = new i.init(s.slice(0)) }, _doProcessBlock: function (e, t) { for (var n = this._hash.words, r = n[0], i = n[1], o = n[2], a = n[3], s = n[4], l = n[5], d = n[6], f = n[7], p = 0; p < 64; p++) { if (p < 16) c[p] = 0 | e[t + p]; else { var h = c[p - 15], g = (h << 25 | h >>> 7) ^ (h << 14 | h >>> 18) ^ h >>> 3, m = c[p - 2], v = (m << 15 | m >>> 17) ^ (m << 13 | m >>> 19) ^ m >>> 10; c[p] = g + c[p - 7] + v + c[p - 16] } var _ = r & i ^ r & o ^ i & o, y = (r << 30 | r >>> 2) ^ (r << 19 | r >>> 13) ^ (r << 10 | r >>> 22), b = f + ((s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25)) + (s & l ^ ~s & d) + u[p] + c[p]; f = d, d = l, l = s, s = a + b | 0, a = o, o = i, i = r, r = b + (y + _) | 0 } n[0] = n[0] + r | 0, n[1] = n[1] + i | 0, n[2] = n[2] + o | 0, n[3] = n[3] + a | 0, n[4] = n[4] + s | 0, n[5] = n[5] + l | 0, n[6] = n[6] + d | 0, n[7] = n[7] + f | 0 }, _doFinalize: function () { var e = this._data, n = e.words, r = 8 * this._nDataBytes, i = 8 * e.sigBytes; return n[i >>> 5] |= 128 << 24 - i % 32, n[14 + (i + 64 >>> 9 << 4)] = t.floor(r / 4294967296), n[15 + (i + 64 >>> 9 << 4)] = r, e.sigBytes = 4 * n.length, this._process(), this._hash }, clone: function () { var e = o.clone.call(this); return e._hash = this._hash.clone(), e } }); n.SHA256 = o._createHelper(l), n.HmacSHA256 = o._createHmacHelper(l) }(Math), e.SHA256 }, "object" === (0, s["default"])(t) ? e.exports = t = a(n(8149)) : (i = [n(8149)], (o = "function" == typeof (r = a) ? r.apply(t, i) : r) === undefined || (e.exports = o)) }, 8161: function (e) { "use strict"; e.exports = function (e) { var t = []; return t.toString = function () { return this.map((function (t) { var n = "", r = "undefined" != typeof t[5]; return t[4] && (n += "@supports (".concat(t[4], ") {")), t[2] && (n += "@media ".concat(t[2], " {")), r && (n += "@layer".concat(t[5].length > 0 ? " ".concat(t[5]) : "", " {")), n += e(t), r && (n += "}"), t[2] && (n += "}"), t[4] && (n += "}"), n })).join("") }, t.i = function (e, n, r, i, o) { "string" == typeof e && (e = [[null, e, undefined]]); var a = {}; if (r) for (var s = 0; s < this.length; s++) { var u = this[s][0]; null != u && (a[u] = !0) } for (var c = 0; c < e.length; c++) { var l = [].concat(e[c]); r && a[l[0]] || (void 0 !== o && ("undefined" == typeof l[5] || (l[1] = "@layer".concat(l[5].length > 0 ? " ".concat(l[5]) : "", " {").concat(l[1], "}")), l[5] = o), n && (l[2] ? (l[1] = "@media ".concat(l[2], " {").concat(l[1], "}"), l[2] = n) : l[2] = n), i && (l[4] ? (l[1] = "@supports (".concat(l[4], ") {").concat(l[1], "}"), l[4] = i) : l[4] = "".concat(i)), t.push(l)) } }, t } }, 7156: function (e) { "use strict"; e.exports = function (e) { return e[1] } }, 6433: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); e.exports = function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } return n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" === (0, r["default"])(e) && e && e.__esModule) return e; var i = Object.create(null); if (n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var o in e) n.d(i, o, function (t) { return e[t] }.bind(null, o)); return i }, n.n = function (e) { var t = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "/dist/", n(n.s = 96) }({ 0: function (e, t, n) { function r(e, t, n, r, i, o, a, s) { var u, c = "function" == typeof e ? e.options : e; if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), a ? (u = function (e) { (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(a) }, c._ssrRegister = u) : i && (u = s ? function () { i.call(this, this.$root.$options.shadowRoot) } : i), u) if (c.functional) { c._injectStyles = u; var l = c.render; c.render = function (e, t) { return u.call(t), l(e, t) } } else { var d = c.beforeCreate; c.beforeCreate = d ? [].concat(d, u) : [u] } return { exports: e, options: c } } n.d(t, "a", (function () { return r })) }, 96: function (e, t, n) { n.r(t); var r = function () { var e = this, t = e.$createElement, n = e._self._c || t; return n("button", { staticClass: "el-button", "class": [e.type ? "el-button--" + e.type : "", e.buttonSize ? "el-button--" + e.buttonSize : "", { "is-disabled": e.buttonDisabled, "is-loading": e.loading, "is-plain": e.plain, "is-round": e.round, "is-circle": e.circle }], attrs: { disabled: e.buttonDisabled || e.loading, autofocus: e.autofocus, type: e.nativeType }, on: { click: e.handleClick } }, [e.loading ? n("i", { staticClass: "el-icon-loading" }) : e._e(), e.icon && !e.loading ? n("i", { "class": e.icon }) : e._e(), e.$slots["default"] ? n("span", [e._t("default")], 2) : e._e()]) }; r._withStripped = !0; var i = { name: "ElButton", inject: { elForm: { "default": "" }, elFormItem: { "default": "" } }, props: { type: { type: String, "default": "default" }, size: String, icon: { type: String, "default": "" }, nativeType: { type: String, "default": "button" }, loading: Boolean, disabled: Boolean, plain: Boolean, autofocus: Boolean, round: Boolean, circle: Boolean }, computed: { _elFormItemSize: function () { return (this.elFormItem || {}).elFormItemSize }, buttonSize: function () { return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size }, buttonDisabled: function () { return this.$options.propsData.hasOwnProperty("disabled") ? this.disabled : (this.elForm || {}).disabled } }, methods: { handleClick: function (e) { this.$emit("click", e) } } }, o = n(0), a = Object(o.a)(i, r, [], !1, null, null, null); a.options.__file = "packages/button/src/button.vue"; var s = a.exports; s.install = function (e) { e.component(s.name, s) }, t["default"] = s } }) }, 6406: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); e.exports = function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } return n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" === (0, r["default"])(e) && e && e.__esModule) return e; var i = Object.create(null); if (n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var o in e) n.d(i, o, function (t) { return e[t] }.bind(null, o)); return i }, n.n = function (e) { var t = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "/dist/", n(n.s = 75) }({ 0: function (e, t, n) { function r(e, t, n, r, i, o, a, s) { var u, c = "function" == typeof e ? e.options : e; if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), a ? (u = function (e) { (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(a) }, c._ssrRegister = u) : i && (u = s ? function () { i.call(this, this.$root.$options.shadowRoot) } : i), u) if (c.functional) { c._injectStyles = u; var l = c.render; c.render = function (e, t) { return u.call(t), l(e, t) } } else { var d = c.beforeCreate; c.beforeCreate = d ? [].concat(d, u) : [u] } return { exports: e, options: c } } n.d(t, "a", (function () { return r })) }, 11: function (e, t) { e.exports = n(7177) }, 21: function (e, t) { e.exports = n(1636) }, 4: function (e, t) { e.exports = n(6262) }, 75: function (e, t, n) { n.r(t); var r = function () { var e = this, t = e.$createElement, n = e._self._c || t; return n("div", { "class": ["textarea" === e.type ? "el-textarea" : "el-input", e.inputSize ? "el-input--" + e.inputSize : "", { "is-disabled": e.inputDisabled, "is-exceed": e.inputExceed, "el-input-group": e.$slots.prepend || e.$slots.append, "el-input-group--append": e.$slots.append, "el-input-group--prepend": e.$slots.prepend, "el-input--prefix": e.$slots.prefix || e.prefixIcon, "el-input--suffix": e.$slots.suffix || e.suffixIcon || e.clearable || e.showPassword }], on: { mouseenter: function (t) { e.hovering = !0 }, mouseleave: function (t) { e.hovering = !1 } } }, ["textarea" !== e.type ? [e.$slots.prepend ? n("div", { staticClass: "el-input-group__prepend" }, [e._t("prepend")], 2) : e._e(), "textarea" !== e.type ? n("input", e._b({ ref: "input", staticClass: "el-input__inner", attrs: { tabindex: e.tabindex, type: e.showPassword ? e.passwordVisible ? "text" : "password" : e.type, disabled: e.inputDisabled, readonly: e.readonly, autocomplete: e.autoComplete || e.autocomplete, "aria-label": e.label }, on: { compositionstart: e.handleCompositionStart, compositionupdate: e.handleCompositionUpdate, compositionend: e.handleCompositionEnd, input: e.handleInput, focus: e.handleFocus, blur: e.handleBlur, change: e.handleChange } }, "input", e.$attrs, !1)) : e._e(), e.$slots.prefix || e.prefixIcon ? n("span", { staticClass: "el-input__prefix" }, [e._t("prefix"), e.prefixIcon ? n("i", { staticClass: "el-input__icon", "class": e.prefixIcon }) : e._e()], 2) : e._e(), e.getSuffixVisible() ? n("span", { staticClass: "el-input__suffix" }, [n("span", { staticClass: "el-input__suffix-inner" }, [e.showClear && e.showPwdVisible && e.isWordLimitVisible ? e._e() : [e._t("suffix"), e.suffixIcon ? n("i", { staticClass: "el-input__icon", "class": e.suffixIcon }) : e._e()], e.showClear ? n("i", { staticClass: "el-input__icon el-icon-circle-close el-input__clear", on: { mousedown: function (e) { e.preventDefault() }, click: e.clear } }) : e._e(), e.showPwdVisible ? n("i", { staticClass: "el-input__icon el-icon-view el-input__clear", on: { click: e.handlePasswordVisible } }) : e._e(), e.isWordLimitVisible ? n("span", { staticClass: "el-input__count" }, [n("span", { staticClass: "el-input__count-inner" }, [e._v("\n " + e._s(e.textLength) + "/" + e._s(e.upperLimit) + "\n ")])]) : e._e()], 2), e.validateState ? n("i", { staticClass: "el-input__icon", "class": ["el-input__validateIcon", e.validateIcon] }) : e._e()]) : e._e(), e.$slots.append ? n("div", { staticClass: "el-input-group__append" }, [e._t("append")], 2) : e._e()] : n("textarea", e._b({ ref: "textarea", staticClass: "el-textarea__inner", style: e.textareaStyle, attrs: { tabindex: e.tabindex, disabled: e.inputDisabled, readonly: e.readonly, autocomplete: e.autoComplete || e.autocomplete, "aria-label": e.label }, on: { compositionstart: e.handleCompositionStart, compositionupdate: e.handleCompositionUpdate, compositionend: e.handleCompositionEnd, input: e.handleInput, focus: e.handleFocus, blur: e.handleBlur, change: e.handleChange } }, "textarea", e.$attrs, !1)), e.isWordLimitVisible && "textarea" === e.type ? n("span", { staticClass: "el-input__count" }, [e._v(e._s(e.textLength) + "/" + e._s(e.upperLimit))]) : e._e()], 2) }; r._withStripped = !0; var i = n(4), o = n.n(i), a = n(11), s = n.n(a), u = void 0, c = ["letter-spacing", "line-height", "padding-top", "padding-bottom", "font-family", "font-weight", "font-size", "text-rendering", "text-transform", "width", "text-indent", "padding-left", "padding-right", "border-width", "box-sizing"]; function l(e) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1, n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; u || (u = document.createElement("textarea"), document.body.appendChild(u)); var r = function (e) { var t = window.getComputedStyle(e), n = t.getPropertyValue("box-sizing"), r = parseFloat(t.getPropertyValue("padding-bottom")) + parseFloat(t.getPropertyValue("padding-top")), i = parseFloat(t.getPropertyValue("border-bottom-width")) + parseFloat(t.getPropertyValue("border-top-width")); return { contextStyle: c.map((function (e) { return e + ":" + t.getPropertyValue(e) })).join(";"), paddingSize: r, borderSize: i, boxSizing: n } }(e), i = r.paddingSize, o = r.borderSize, a = r.boxSizing, s = r.contextStyle; u.setAttribute("style", s + ";\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n"), u.value = e.value || e.placeholder || ""; var l = u.scrollHeight, d = {}; "border-box" === a ? l += o : "content-box" === a && (l -= i), u.value = ""; var f = u.scrollHeight - i; if (null !== t) { var p = f * t; "border-box" === a && (p = p + i + o), l = Math.max(p, l), d.minHeight = p + "px" } if (null !== n) { var h = f * n; "border-box" === a && (h = h + i + o), l = Math.min(h, l) } return d.height = l + "px", u.parentNode && u.parentNode.removeChild(u), u = null, d } var d = n(9), f = n.n(d), p = n(21), h = { name: "ElInput", componentName: "ElInput", mixins: [o.a, s.a], inheritAttrs: !1, inject: { elForm: { "default": "" }, elFormItem: { "default": "" } }, data: function () { return { textareaCalcStyle: {}, hovering: !1, focused: !1, isComposing: !1, passwordVisible: !1 } }, props: { value: [String, Number], size: String, resize: String, form: String, disabled: Boolean, readonly: Boolean, type: { type: String, "default": "text" }, autosize: { type: [Boolean, Object], "default": !1 }, autocomplete: { type: String, "default": "off" }, autoComplete: { type: String, validator: function (e) { return !0 } }, validateEvent: { type: Boolean, "default": !0 }, suffixIcon: String, prefixIcon: String, label: String, clearable: { type: Boolean, "default": !1 }, showPassword: { type: Boolean, "default": !1 }, showWordLimit: { type: Boolean, "default": !1 }, tabindex: String }, computed: { _elFormItemSize: function () { return (this.elFormItem || {}).elFormItemSize }, validateState: function () { return this.elFormItem ? this.elFormItem.validateState : "" }, needStatusIcon: function () { return !!this.elForm && this.elForm.statusIcon }, validateIcon: function () { return { validating: "el-icon-loading", success: "el-icon-circle-check", error: "el-icon-circle-close" }[this.validateState] }, textareaStyle: function () { return f()({}, this.textareaCalcStyle, { resize: this.resize }) }, inputSize: function () { return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size }, inputDisabled: function () { return this.disabled || (this.elForm || {}).disabled }, nativeInputValue: function () { return null === this.value || this.value === undefined ? "" : String(this.value) }, showClear: function () { return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering) }, showPwdVisible: function () { return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused) }, isWordLimitVisible: function () { return this.showWordLimit && this.$attrs.maxlength && ("text" === this.type || "textarea" === this.type) && !this.inputDisabled && !this.readonly && !this.showPassword }, upperLimit: function () { return this.$attrs.maxlength }, textLength: function () { return "number" == typeof this.value ? String(this.value).length : (this.value || "").length }, inputExceed: function () { return this.isWordLimitVisible && this.textLength > this.upperLimit } }, watch: { value: function (e) { this.$nextTick(this.resizeTextarea), this.validateEvent && this.dispatch("ElFormItem", "el.form.change", [e]) }, nativeInputValue: function () { this.setNativeInputValue() }, type: function () { var e = this; this.$nextTick((function () { e.setNativeInputValue(), e.resizeTextarea(), e.updateIconOffset() })) } }, methods: { focus: function () { this.getInput().focus() }, blur: function () { this.getInput().blur() }, getMigratingConfig: function () { return { props: { icon: "icon is removed, use suffix-icon / prefix-icon instead.", "on-icon-click": "on-icon-click is removed." }, events: { click: "click is removed." } } }, handleBlur: function (e) { this.focused = !1, this.$emit("blur", e), this.validateEvent && this.dispatch("ElFormItem", "el.form.blur", [this.value]) }, select: function () { this.getInput().select() }, resizeTextarea: function () { if (!this.$isServer) { var e = this.autosize; if ("textarea" === this.type) if (e) { var t = e.minRows, n = e.maxRows; this.textareaCalcStyle = l(this.$refs.textarea, t, n) } else this.textareaCalcStyle = { minHeight: l(this.$refs.textarea).minHeight } } }, setNativeInputValue: function () { var e = this.getInput(); e && e.value !== this.nativeInputValue && (e.value = this.nativeInputValue) }, handleFocus: function (e) { this.focused = !0, this.$emit("focus", e) }, handleCompositionStart: function (e) { this.$emit("compositionstart", e), this.isComposing = !0 }, handleCompositionUpdate: function (e) { this.$emit("compositionupdate", e); var t = e.target.value, n = t[t.length - 1] || ""; this.isComposing = !Object(p.isKorean)(n) }, handleCompositionEnd: function (e) { this.$emit("compositionend", e), this.isComposing && (this.isComposing = !1, this.handleInput(e)) }, handleInput: function (e) { this.isComposing || e.target.value !== this.nativeInputValue && (this.$emit("input", e.target.value), this.$nextTick(this.setNativeInputValue)) }, handleChange: function (e) { this.$emit("change", e.target.value) }, calcIconOffset: function (e) { var t = [].slice.call(this.$el.querySelectorAll(".el-input__" + e) || []); if (t.length) { for (var n = null, r = 0; r < t.length; r++)if (t[r].parentNode === this.$el) { n = t[r]; break } if (n) { var i = { suffix: "append", prefix: "prepend" }[e]; this.$slots[i] ? n.style.transform = "translateX(" + ("suffix" === e ? "-" : "") + this.$el.querySelector(".el-input-group__" + i).offsetWidth + "px)" : n.removeAttribute("style") } } }, updateIconOffset: function () { this.calcIconOffset("prefix"), this.calcIconOffset("suffix") }, clear: function () { this.$emit("input", ""), this.$emit("change", ""), this.$emit("clear") }, handlePasswordVisible: function () { var e = this; this.passwordVisible = !this.passwordVisible, this.$nextTick((function () { e.focus() })) }, getInput: function () { return this.$refs.input || this.$refs.textarea }, getSuffixVisible: function () { return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon } }, created: function () { this.$on("inputSelect", this.select) }, mounted: function () { this.setNativeInputValue(), this.resizeTextarea(), this.updateIconOffset() }, updated: function () { this.$nextTick(this.updateIconOffset) } }, g = h, m = n(0), v = Object(m.a)(g, r, [], !1, null, null, null); v.options.__file = "packages/input/src/input.vue"; var _ = v.exports; _.install = function (e) { e.component(_.name, _) }, t["default"] = _ }, 9: function (e, t) { e.exports = n(7002) } }) }, 996: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); e.exports = function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } return n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" === (0, r["default"])(e) && e && e.__esModule) return e; var i = Object.create(null); if (n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var o in e) n.d(i, o, function (t) { return e[t] }.bind(null, o)); return i }, n.n = function (e) { var t = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "/dist/", n(n.s = 73) }({ 0: function (e, t, n) { function r(e, t, n, r, i, o, a, s) { var u, c = "function" == typeof e ? e.options : e; if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), a ? (u = function (e) { (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(a) }, c._ssrRegister = u) : i && (u = s ? function () { i.call(this, this.$root.$options.shadowRoot) } : i), u) if (c.functional) { c._injectStyles = u; var l = c.render; c.render = function (e, t) { return u.call(t), l(e, t) } } else { var d = c.beforeCreate; c.beforeCreate = d ? [].concat(d, u) : [u] } return { exports: e, options: c } } n.d(t, "a", (function () { return r })) }, 13: function (e, t) { e.exports = n(4154) }, 2: function (e, t) { e.exports = n(4210) }, 42: function (e, t) { e.exports = n(3751) }, 7: function (e, t) { e.exports = n(1848) }, 73: function (e, t, n) { n.r(t); var r = n(7), i = n.n(r), o = function () { var e = this, t = e.$createElement, n = e._self._c || t; return n("transition", { attrs: { name: "el-loading-fade" }, on: { "after-leave": e.handleAfterLeave } }, [n("div", { directives: [{ name: "show", rawName: "v-show", value: e.visible, expression: "visible" }], staticClass: "el-loading-mask", "class": [e.customClass, { "is-fullscreen": e.fullscreen }], style: { backgroundColor: e.background || "" } }, [n("div", { staticClass: "el-loading-spinner" }, [e.spinner ? n("i", { "class": e.spinner }) : n("svg", { staticClass: "circular", attrs: { viewBox: "25 25 50 50" } }, [n("circle", { staticClass: "path", attrs: { cx: "50", cy: "50", r: "20", fill: "none" } })]), e.text ? n("p", { staticClass: "el-loading-text" }, [e._v(e._s(e.text))]) : e._e()])])]) }; o._withStripped = !0; var a = { data: function () { return { text: null, spinner: null, background: null, fullscreen: !0, visible: !1, customClass: "" } }, methods: { handleAfterLeave: function () { this.$emit("after-leave") }, setText: function (e) { this.text = e } } }, s = n(0), u = Object(s.a)(a, o, [], !1, null, null, null); u.options.__file = "packages/loading/src/loading.vue"; var c = u.exports, l = n(2), d = n(13), f = n(42), p = n.n(f), h = i.a.extend(c), g = { install: function (e) { if (!e.prototype.$isServer) { var t = function (t, r) { r.value ? e.nextTick((function () { r.modifiers.fullscreen ? (t.originalPosition = Object(l.getStyle)(document.body, "position"), t.originalOverflow = Object(l.getStyle)(document.body, "overflow"), t.maskStyle.zIndex = d.PopupManager.nextZIndex(), Object(l.addClass)(t.mask, "is-fullscreen"), n(document.body, t, r)) : (Object(l.removeClass)(t.mask, "is-fullscreen"), r.modifiers.body ? (t.originalPosition = Object(l.getStyle)(document.body, "position"), ["top", "left"].forEach((function (e) { var n = "top" === e ? "scrollTop" : "scrollLeft"; t.maskStyle[e] = t.getBoundingClientRect()[e] + document.body[n] + document.documentElement[n] - parseInt(Object(l.getStyle)(document.body, "margin-" + e), 10) + "px" })), ["height", "width"].forEach((function (e) { t.maskStyle[e] = t.getBoundingClientRect()[e] + "px" })), n(document.body, t, r)) : (t.originalPosition = Object(l.getStyle)(t, "position"), n(t, t, r))) })) : (p()(t.instance, (function (e) { if (t.instance.hiding) { t.domVisible = !1; var n = r.modifiers.fullscreen || r.modifiers.body ? document.body : t; Object(l.removeClass)(n, "el-loading-parent--relative"), Object(l.removeClass)(n, "el-loading-parent--hidden"), t.instance.hiding = !1 } }), 300, !0), t.instance.visible = !1, t.instance.hiding = !0) }, n = function (t, n, r) { n.domVisible || "none" === Object(l.getStyle)(n, "display") || "hidden" === Object(l.getStyle)(n, "visibility") ? n.domVisible && !0 === n.instance.hiding && (n.instance.visible = !0, n.instance.hiding = !1) : (Object.keys(n.maskStyle).forEach((function (e) { n.mask.style[e] = n.maskStyle[e] })), "absolute" !== n.originalPosition && "fixed" !== n.originalPosition && "sticky" !== n.originalPosition && Object(l.addClass)(t, "el-loading-parent--relative"), r.modifiers.fullscreen && r.modifiers.lock && Object(l.addClass)(t, "el-loading-parent--hidden"), n.domVisible = !0, t.appendChild(n.mask), e.nextTick((function () { n.instance.hiding ? n.instance.$emit("after-leave") : n.instance.visible = !0 })), n.domInserted = !0) }; e.directive("loading", { bind: function (e, n, r) { var i = e.getAttribute("element-loading-text"), o = e.getAttribute("element-loading-spinner"), a = e.getAttribute("element-loading-background"), s = e.getAttribute("element-loading-custom-class"), u = r.context, c = new h({ el: document.createElement("div"), data: { text: u && u[i] || i, spinner: u && u[o] || o, background: u && u[a] || a, customClass: u && u[s] || s, fullscreen: !!n.modifiers.fullscreen } }); e.instance = c, e.mask = c.$el, e.maskStyle = {}, n.value && t(e, n) }, update: function (e, n) { e.instance.setText(e.getAttribute("element-loading-text")), n.oldValue !== n.value && t(e, n) }, unbind: function (e, n) { e.domInserted && (e.mask && e.mask.parentNode && e.mask.parentNode.removeChild(e.mask), t(e, { value: !1, modifiers: n.modifiers })), e.instance && e.instance.$destroy() } }) } } }, m = g, v = n(9), _ = n.n(v), y = i.a.extend(c), b = { text: null, fullscreen: !0, body: !1, lock: !1, customClass: "" }, k = void 0; y.prototype.originalPosition = "", y.prototype.originalOverflow = "", y.prototype.close = function () { var e = this; this.fullscreen && (k = undefined), p()(this, (function (t) { var n = e.fullscreen || e.body ? document.body : e.target; Object(l.removeClass)(n, "el-loading-parent--relative"), Object(l.removeClass)(n, "el-loading-parent--hidden"), e.$el && e.$el.parentNode && e.$el.parentNode.removeChild(e.$el), e.$destroy() }), 300), this.visible = !1 }; var w = function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (!i.a.prototype.$isServer) { if ("string" == typeof (e = _()({}, b, e)).target && (e.target = document.querySelector(e.target)), e.target = e.target || document.body, e.target !== document.body ? e.fullscreen = !1 : e.body = !0, e.fullscreen && k) return k; var t = e.body ? document.body : e.target, n = new y({ el: document.createElement("div"), data: e }); return function (e, t, n) { var r = {}; e.fullscreen ? (n.originalPosition = Object(l.getStyle)(document.body, "position"), n.originalOverflow = Object(l.getStyle)(document.body, "overflow"), r.zIndex = d.PopupManager.nextZIndex()) : e.body ? (n.originalPosition = Object(l.getStyle)(document.body, "position"), ["top", "left"].forEach((function (t) { var n = "top" === t ? "scrollTop" : "scrollLeft"; r[t] = e.target.getBoundingClientRect()[t] + document.body[n] + document.documentElement[n] + "px" })), ["height", "width"].forEach((function (t) { r[t] = e.target.getBoundingClientRect()[t] + "px" }))) : n.originalPosition = Object(l.getStyle)(t, "position"), Object.keys(r).forEach((function (e) { n.$el.style[e] = r[e] })) }(e, t, n), "absolute" !== n.originalPosition && "fixed" !== n.originalPosition && "sticky" !== n.originalPosition && Object(l.addClass)(t, "el-loading-parent--relative"), e.fullscreen && e.lock && Object(l.addClass)(t, "el-loading-parent--hidden"), t.appendChild(n.$el), i.a.nextTick((function () { n.visible = !0 })), e.fullscreen && (k = n), n } }; t["default"] = { install: function (e) { e.use(m), e.prototype.$loading = w }, directive: m, service: w } }, 9: function (e, t) { e.exports = n(7002) } }) }, 6262: function (e, t) { "use strict"; function n(e, t, r) { this.$children.forEach((function (i) { i.$options.componentName === e ? i.$emit.apply(i, [t].concat(r)) : n.apply(i, [e, t].concat([r])) })) } t.__esModule = !0, t["default"] = { methods: { dispatch: function (e, t, n) { for (var r = this.$parent || this.$root, i = r.$options.componentName; r && (!i || i !== e);)(r = r.$parent) && (i = r.$options.componentName); r && r.$emit.apply(r, [t].concat(n)) }, broadcast: function (e, t, r) { n.call(this, e, t, r) } } } }, 7177: function (e, t, n) { "use strict"; t.__esModule = !0, n(964), t["default"] = { mounted: function () { }, methods: { getMigratingConfig: function () { return { props: {}, events: {} } } } } }, 3751: function (e, t) { "use strict"; t.__esModule = !0, t["default"] = function (e, t) { var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300, r = arguments.length > 3 && arguments[3] !== undefined && arguments[3]; if (!e || !t) throw new Error("instance & callback is required"); var i = !1, o = function () { i || (i = !0, t && t.apply(null, arguments)) }; r ? e.$once("after-leave", o) : e.$on("after-leave", o), setTimeout((function () { o() }), n + 100) } }, 4210: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); t.__esModule = !0, t.isInContainer = t.getScrollContainer = t.isScroll = t.getStyle = t.once = t.off = t.on = undefined; var i = "function" == typeof Symbol && "symbol" === (0, r["default"])(Symbol.iterator) ? function (e) { return (0, r["default"])(e) } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : (0, r["default"])(e) }; t.hasClass = g, t.addClass = function (e, t) { if (e) { for (var n = e.className, r = (t || "").split(" "), i = 0, o = r.length; i < o; i++) { var a = r[i]; a && (e.classList ? e.classList.add(a) : g(e, a) || (n += " " + a)) } e.classList || e.setAttribute("class", n) } }, t.removeClass = function (e, t) { if (e && t) { for (var n = t.split(" "), r = " " + e.className + " ", i = 0, o = n.length; i < o; i++) { var a = n[i]; a && (e.classList ? e.classList.remove(a) : g(e, a) && (r = r.replace(" " + a + " ", " "))) } e.classList || e.setAttribute("class", d(r)) } }, t.setStyle = function _(e, t, n) { if (e && t) if ("object" === (void 0 === t ? "undefined" : i(t))) for (var r in t) t.hasOwnProperty(r) && _(e, r, t[r]); else "opacity" === (t = f(t)) && l < 9 ? e.style.filter = isNaN(n) ? "" : "alpha(opacity=" + 100 * n + ")" : e.style[t] = n }; var o, a = n(1848), s = ((o = a) && o.__esModule ? o : { "default": o })["default"].prototype.$isServer, u = /([\:\-\_]+(.))/g, c = /^moz([A-Z])/, l = s ? 0 : Number(document.documentMode), d = function (e) { return (e || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, "") }, f = function (e) { return e.replace(u, (function (e, t, n, r) { return r ? n.toUpperCase() : n })).replace(c, "Moz$1") }, p = t.on = !s && document.addEventListener ? function (e, t, n) { e && t && n && e.addEventListener(t, n, !1) } : function (e, t, n) { e && t && n && e.attachEvent("on" + t, n) }, h = t.off = !s && document.removeEventListener ? function (e, t, n) { e && t && e.removeEventListener(t, n, !1) } : function (e, t, n) { e && t && e.detachEvent("on" + t, n) }; function g(e, t) { if (!e || !t) return !1; if (-1 !== t.indexOf(" ")) throw new Error("className should not contain space."); return e.classList ? e.classList.contains(t) : (" " + e.className + " ").indexOf(" " + t + " ") > -1 } t.once = function (e, t, n) { p(e, t, (function r() { n && n.apply(this, arguments), h(e, t, r) })) }; var m = t.getStyle = l < 9 ? function (e, t) { if (!s) { if (!e || !t) return null; "float" === (t = f(t)) && (t = "styleFloat"); try { if ("opacity" === t) try { return e.filters.item("alpha").opacity / 100 } catch (n) { return 1 } return e.style[t] || e.currentStyle ? e.currentStyle[t] : null } catch (n) { return e.style[t] } } } : function (e, t) { if (!s) { if (!e || !t) return null; "float" === (t = f(t)) && (t = "cssFloat"); try { var n = document.defaultView.getComputedStyle(e, ""); return e.style[t] || n ? n[t] : null } catch (r) { return e.style[t] } } }, v = t.isScroll = function (e, t) { if (!s) { var n = null !== t && t !== undefined; return m(e, n ? t ? "overflow-y" : "overflow-x" : "overflow").match(/(scroll|auto|overlay)/) } }; t.getScrollContainer = function (e, t) { if (!s) { for (var n = e; n;) { if ([window, document, document.documentElement].includes(n)) return window; if (v(n, t)) return n; n = n.parentNode } return n } }, t.isInContainer = function (e, t) { if (s || !e || !t) return !1; var n = e.getBoundingClientRect(), r = void 0; return r = [window, document, document.documentElement, null, undefined].includes(t) ? { top: 0, right: window.innerWidth, bottom: window.innerHeight, left: 0 } : t.getBoundingClientRect(), n.top < r.bottom && n.bottom > r.top && n.right > r.left && n.left < r.right } }, 7002: function (e, t) { "use strict"; t.__esModule = !0, t["default"] = function (e) { for (var t = 1, n = arguments.length; t < n; t++) { var r = arguments[t] || {}; for (var i in r) if (r.hasOwnProperty(i)) { var o = r[i]; o !== undefined && (e[i] = o) } } return e } }, 4154: function (e, t, n) { "use strict"; t.__esModule = !0, t.PopupManager = undefined; var r = u(n(1848)), i = u(n(7002)), o = u(n(9843)), a = u(n(8166)), s = n(4210); function u(e) { return e && e.__esModule ? e : { "default": e } } var c = 1, l = void 0; t["default"] = { props: { visible: { type: Boolean, "default": !1 }, openDelay: {}, closeDelay: {}, zIndex: {}, modal: { type: Boolean, "default": !1 }, modalFade: { type: Boolean, "default": !0 }, modalClass: {}, modalAppendToBody: { type: Boolean, "default": !1 }, lockScroll: { type: Boolean, "default": !0 }, closeOnPressEscape: { type: Boolean, "default": !1 }, closeOnClickModal: { type: Boolean, "default": !1 } }, beforeMount: function () { this._popupId = "popup-" + c++, o["default"].register(this._popupId, this) }, beforeDestroy: function () { o["default"].deregister(this._popupId), o["default"].closeModal(this._popupId), this.restoreBodyStyle() }, data: function () { return { opened: !1, bodyPaddingRight: null, computedBodyPaddingRight: 0, withoutHiddenClass: !0, rendered: !1 } }, watch: { visible: function (e) { var t = this; if (e) { if (this._opening) return; this.rendered ? this.open() : (this.rendered = !0, r["default"].nextTick((function () { t.open() }))) } else this.close() } }, methods: { open: function (e) { var t = this; this.rendered || (this.rendered = !0); var n = (0, i["default"])({}, this.$props || this, e); this._closeTimer && (clearTimeout(this._closeTimer), this._closeTimer = null), clearTimeout(this._openTimer); var r = Number(n.openDelay); r > 0 ? this._openTimer = setTimeout((function () { t._openTimer = null, t.doOpen(n) }), r) : this.doOpen(n) }, doOpen: function (e) { if (!this.$isServer && (!this.willOpen || this.willOpen()) && !this.opened) { this._opening = !0; var t = this.$el, n = e.modal, r = e.zIndex; if (r && (o["default"].zIndex = r), n && (this._closing && (o["default"].closeModal(this._popupId), this._closing = !1), o["default"].openModal(this._popupId, o["default"].nextZIndex(), this.modalAppendToBody ? undefined : t, e.modalClass, e.modalFade), e.lockScroll)) { this.withoutHiddenClass = !(0, s.hasClass)(document.body, "el-popup-parent--hidden"), this.withoutHiddenClass && (this.bodyPaddingRight = document.body.style.paddingRight, this.computedBodyPaddingRight = parseInt((0, s.getStyle)(document.body, "paddingRight"), 10)), l = (0, a["default"])(); var i = document.documentElement.clientHeight < document.body.scrollHeight, u = (0, s.getStyle)(document.body, "overflowY"); l > 0 && (i || "scroll" === u) && this.withoutHiddenClass && (document.body.style.paddingRight = this.computedBodyPaddingRight + l + "px"), (0, s.addClass)(document.body, "el-popup-parent--hidden") } "static" === getComputedStyle(t).position && (t.style.position = "absolute"), t.style.zIndex = o["default"].nextZIndex(), this.opened = !0, this.onOpen && this.onOpen(), this.doAfterOpen() } }, doAfterOpen: function () { this._opening = !1 }, close: function () { var e = this; if (!this.willClose || this.willClose()) { null !== this._openTimer && (clearTimeout(this._openTimer), this._openTimer = null), clearTimeout(this._closeTimer); var t = Number(this.closeDelay); t > 0 ? this._closeTimer = setTimeout((function () { e._closeTimer = null, e.doClose() }), t) : this.doClose() } }, doClose: function () { this._closing = !0, this.onClose && this.onClose(), this.lockScroll && setTimeout(this.restoreBodyStyle, 200), this.opened = !1, this.doAfterClose() }, doAfterClose: function () { o["default"].closeModal(this._popupId), this._closing = !1 }, restoreBodyStyle: function () { this.modal && this.withoutHiddenClass && (document.body.style.paddingRight = this.bodyPaddingRight, (0, s.removeClass)(document.body, "el-popup-parent--hidden")), this.withoutHiddenClass = !0 } } }, t.PopupManager = o["default"] }, 9843: function (e, t, n) { "use strict"; t.__esModule = !0; var r, i = n(1848), o = (r = i) && r.__esModule ? r : { "default": r }, a = n(4210), s = !1, u = !1, c = void 0, l = function () { if (!o["default"].prototype.$isServer) { var e = f.modalDom; return e ? s = !0 : (s = !1, e = document.createElement("div"), f.modalDom = e, e.addEventListener("touchmove", (function (e) { e.preventDefault(), e.stopPropagation() })), e.addEventListener("click", (function () { f.doOnModalClick && f.doOnModalClick() }))), e } }, d = {}, f = { modalFade: !0, getInstance: function (e) { return d[e] }, register: function (e, t) { e && t && (d[e] = t) }, deregister: function (e) { e && (d[e] = null, delete d[e]) }, nextZIndex: function () { return f.zIndex++ }, modalStack: [], doOnModalClick: function () { var e = f.modalStack[f.modalStack.length - 1]; if (e) { var t = f.getInstance(e.id); t && t.closeOnClickModal && t.close() } }, openModal: function (e, t, n, r, i) { if (!o["default"].prototype.$isServer && e && t !== undefined) { this.modalFade = i; for (var u = this.modalStack, c = 0, d = u.length; c < d; c++)if (u[c].id === e) return; var f = l(); (0, a.addClass)(f, "v-modal"), this.modalFade && !s && (0, a.addClass)(f, "v-modal-enter"), r && r.trim().split(/\s+/).forEach((function (e) { return (0, a.addClass)(f, e) })), setTimeout((function () { (0, a.removeClass)(f, "v-modal-enter") }), 200), n && n.parentNode && 11 !== n.parentNode.nodeType ? n.parentNode.appendChild(f) : document.body.appendChild(f), t && (f.style.zIndex = t), f.tabIndex = 0, f.style.display = "", this.modalStack.push({ id: e, zIndex: t, modalClass: r }) } }, closeModal: function (e) { var t = this.modalStack, n = l(); if (t.length > 0) { var r = t[t.length - 1]; if (r.id === e) r.modalClass && r.modalClass.trim().split(/\s+/).forEach((function (e) { return (0, a.removeClass)(n, e) })), t.pop(), t.length > 0 && (n.style.zIndex = t[t.length - 1].zIndex); else for (var i = t.length - 1; i >= 0; i--)if (t[i].id === e) { t.splice(i, 1); break } } 0 === t.length && (this.modalFade && (0, a.addClass)(n, "v-modal-leave"), setTimeout((function () { 0 === t.length && (n.parentNode && n.parentNode.removeChild(n), n.style.display = "none", f.modalDom = undefined), (0, a.removeClass)(n, "v-modal-leave") }), 200)) } }; Object.defineProperty(f, "zIndex", { configurable: !0, get: function () { return u || (c = c || (o["default"].prototype.$ELEMENT || {}).zIndex || 2e3, u = !0), c }, set: function (e) { c = e } }), o["default"].prototype.$isServer || window.addEventListener("keydown", (function (e) { if (27 === e.keyCode) { var t = function () { if (!o["default"].prototype.$isServer && f.modalStack.length > 0) { var e = f.modalStack[f.modalStack.length - 1]; if (!e) return; return f.getInstance(e.id) } }(); t && t.closeOnPressEscape && (t.handleClose ? t.handleClose() : t.handleAction ? t.handleAction("cancel") : t.close()) } })), t["default"] = f }, 8166: function (e, t, n) { "use strict"; t.__esModule = !0, t["default"] = function () { if (o["default"].prototype.$isServer) return 0; if (a !== undefined) return a; var e = document.createElement("div"); e.className = "el-scrollbar__wrap", e.style.visibility = "hidden", e.style.width = "100px", e.style.position = "absolute", e.style.top = "-9999px", document.body.appendChild(e); var t = e.offsetWidth; e.style.overflow = "scroll"; var n = document.createElement("div"); n.style.width = "100%", e.appendChild(n); var r = n.offsetWidth; return e.parentNode.removeChild(e), a = t - r }; var r, i = n(1848), o = (r = i) && r.__esModule ? r : { "default": r }, a = void 0 }, 1636: function (e, t) { "use strict"; t.__esModule = !0, t.isDef = function (e) { return e !== undefined && null !== e }, t.isKorean = function (e) { return /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(e) } }, 7634: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); t.__esModule = !0, t.isDefined = t.isUndefined = t.isFunction = undefined; var i = "function" == typeof Symbol && "symbol" === (0, r["default"])(Symbol.iterator) ? function (e) { return (0, r["default"])(e) } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : (0, r["default"])(e) }; t.isString = function (e) { return "[object String]" === Object.prototype.toString.call(e) }, t.isObject = function (e) { return "[object Object]" === Object.prototype.toString.call(e) }, t.isHtmlElement = function (e) { return e && e.nodeType === Node.ELEMENT_NODE }; var o, a = n(1848), s = (o = a) && o.__esModule ? o : { "default": o }, u = function (e) { return e && "[object Function]" === {}.toString.call(e) }; "object" === ("undefined" == typeof Int8Array ? "undefined" : i(Int8Array)) || !s["default"].prototype.$isServer && "function" == typeof document.childNodes || (t.isFunction = u = function (e) { return "function" == typeof e || !1 }), t.isFunction = u, t.isUndefined = function (e) { return void 0 === e }, t.isDefined = function (e) { return e !== undefined && null !== e } }, 964: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)); t.__esModule = !0, t.isMac = t.isEmpty = t.isEqual = t.arrayEquals = t.looseEqual = t.capitalize = t.kebabCase = t.autoprefixer = t.isFirefox = t.isEdge = t.isIE = t.coerceTruthyValueToArray = t.arrayFind = t.arrayFindIndex = t.escapeRegexpString = t.valueEquals = t.generateId = t.getValueByPath = undefined; var i = "function" == typeof Symbol && "symbol" === (0, r["default"])(Symbol.iterator) ? function (e) { return (0, r["default"])(e) } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : (0, r["default"])(e) }; t.noop = function () { }, t.hasOwn = function (e, t) { return c.call(e, t) }, t.toObject = function (e) { for (var t = {}, n = 0; n < e.length; n++)e[n] && l(t, e[n]); return t }, t.getPropByPath = function (e, t, n) { for (var r = e, i = (t = (t = t.replace(/\[(\w+)\]/g, ".$1")).replace(/^\./, "")).split("."), o = 0, a = i.length; o < a - 1 && (r || n); ++o) { var s = i[o]; if (!(s in r)) { if (n) throw new Error("please transfer a valid prop path to form item!"); break } r = r[s] } return { o: r, k: i[o], v: r ? r[i[o]] : null } }, t.rafThrottle = function (e) { var t = !1; return function () { for (var n = this, r = arguments.length, i = Array(r), o = 0; o < r; o++)i[o] = arguments[o]; t || (t = !0, window.requestAnimationFrame((function (r) { e.apply(n, i), t = !1 }))) } }, t.objToArray = function (e) { return Array.isArray(e) ? e : h(e) ? [] : [e] }; var o, a = n(1848), s = (o = a) && o.__esModule ? o : { "default": o }, u = n(7634), c = Object.prototype.hasOwnProperty; function l(e, t) { for (var n in t) e[n] = t[n]; return e } t.getValueByPath = function (e, t) { for (var n = (t = t || "").split("."), r = e, i = null, o = 0, a = n.length; o < a; o++) { var s = n[o]; if (!r) break; if (o === a - 1) { i = r[s]; break } r = r[s] } return i }, t.generateId = function () { return Math.floor(1e4 * Math.random()) }, t.valueEquals = function (e, t) { if (e === t) return !0; if (!(e instanceof Array)) return !1; if (!(t instanceof Array)) return !1; if (e.length !== t.length) return !1; for (var n = 0; n !== e.length; ++n)if (e[n] !== t[n]) return !1; return !0 }, t.escapeRegexpString = function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; return String(e).replace(/[|\\{}()[\]^$+*?.]/g, "\\$&") }; var d = t.arrayFindIndex = function (e, t) { for (var n = 0; n !== e.length; ++n)if (t(e[n])) return n; return -1 }, f = (t.arrayFind = function (e, t) { var n = d(e, t); return -1 !== n ? e[n] : undefined }, t.coerceTruthyValueToArray = function (e) { return Array.isArray(e) ? e : e ? [e] : [] }, t.isIE = function () { return !s["default"].prototype.$isServer && !isNaN(Number(document.documentMode)) }, t.isEdge = function () { return !s["default"].prototype.$isServer && navigator.userAgent.indexOf("Edge") > -1 }, t.isFirefox = function () { return !s["default"].prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i) }, t.autoprefixer = function (e) { if ("object" !== (void 0 === e ? "undefined" : i(e))) return e; var t = ["ms-", "webkit-"]; return ["transform", "transition", "animation"].forEach((function (n) { var r = e[n]; n && r && t.forEach((function (t) { e[t + n] = r })) })), e }, t.kebabCase = function (e) { var t = /([^-])([A-Z])/g; return e.replace(t, "$1-$2").replace(t, "$1-$2").toLowerCase() }, t.capitalize = function (e) { return (0, u.isString)(e) ? e.charAt(0).toUpperCase() + e.slice(1) : e }, t.looseEqual = function (e, t) { var n = (0, u.isObject)(e), r = (0, u.isObject)(t); return n && r ? JSON.stringify(e) === JSON.stringify(t) : !n && !r && String(e) === String(t) }), p = t.arrayEquals = function (e, t) { if (t = t || [], (e = e || []).length !== t.length) return !1; for (var n = 0; n < e.length; n++)if (!f(e[n], t[n])) return !1; return !0 }, h = (t.isEqual = function (e, t) { return Array.isArray(e) && Array.isArray(t) ? p(e, t) : f(e, t) }, t.isEmpty = function (e) { if (null == e) return !0; if ("boolean" == typeof e) return !1; if ("number" == typeof e) return !e; if (e instanceof Error) return "" === e.message; switch (Object.prototype.toString.call(e)) { case "[object String]": case "[object Array]": return !e.length; case "[object File]": case "[object Map]": case "[object Set]": return !e.size; case "[object Object]": return !Object.keys(e).length }return !1 }); t.isMac = function () { return !s["default"].prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent) } }, 6879: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var i, o = r(n(1848)), a = n(3165), s = [], u = "@@clickoutsideContext", c = 0; function l(e, t, n) { return function () { var r = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; !(n && n.context && r.target && i.target) || e.contains(r.target) || e.contains(i.target) || e === r.target || n.context.popperElm && (n.context.popperElm.contains(r.target) || n.context.popperElm.contains(i.target)) || (t.expression && e[u].methodName && n.context[e[u].methodName] ? n.context[e[u].methodName]() : e[u].bindingFn && e[u].bindingFn()) } } !o["default"].prototype.$isServer && (0, a.on)(document, "mousedown", (function (e) { return i = e })), !o["default"].prototype.$isServer && (0, a.on)(document, "mouseup", (function (e) { s.forEach((function (t) { return t[u].documentHandler(e, i) })) })), t["default"] = { bind: function (e, t, n) { s.push(e); var r = c++; e[u] = { id: r, documentHandler: l(e, t, n), methodName: t.expression, bindingFn: t.value } }, update: function (e, t, n) { e[u].documentHandler = l(e, t, n), e[u].methodName = t.expression, e[u].bindingFn = t.value }, unbind: function (e) { for (var t = s.length, n = 0; n < t; n++)if (s[n][u].id === e[u].id) { s.splice(n, 1); break } delete e[u] } } }, 3165: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.addClass = function (e, t) { if (e) { for (var n = e.className, r = (t || "").split(" "), i = 0, o = r.length; i < o; i++) { var a = r[i]; a && (e.classList ? e.classList.add(a) : p(e, a) || (n += " " + a)) } e.classList || e.setAttribute("class", n) } }, t.getStyle = t.getScrollContainer = void 0, t.hasClass = p, t.once = t.on = t.off = t.isScroll = t.isInContainer = void 0, t.removeClass = function (e, t) { if (e && t) { for (var n = t.split(" "), r = " " + e.className + " ", i = 0, o = n.length; i < o; i++) { var a = n[i]; a && (e.classList ? e.classList.remove(a) : p(e, a) && (r = r.replace(" " + a + " ", " "))) } e.classList || e.setAttribute("class", c(r)) } }, t.setStyle = function m(e, t, n) { if (e && t) if ("object" === (0, i["default"])(t)) for (var r in t) t.hasOwnProperty(r) && m(e, r, t[r]); else "opacity" === (t = l(t)) && u < 9 ? e.style.filter = isNaN(n) ? "" : "alpha(opacity=" + 100 * n + ")" : e.style[t] = n }; var i = r(n(9767)), o = r(n(1848))["default"].prototype.$isServer, a = /([\:\-\_]+(.))/g, s = /^moz([A-Z])/, u = o ? 0 : Number(document.documentMode), c = function (e) { return (e || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, "") }, l = function (e) { return e.replace(a, (function (e, t, n, r) { return r ? n.toUpperCase() : n })).replace(s, "Moz$1") }, d = t.on = !o && document.addEventListener ? function (e, t, n) { e && t && n && e.addEventListener(t, n, !1) } : function (e, t, n) { e && t && n && e.attachEvent("on" + t, n) }, f = t.off = !o && document.removeEventListener ? function (e, t, n) { e && t && e.removeEventListener(t, n, !1) } : function (e, t, n) { e && t && e.detachEvent("on" + t, n) }; function p(e, t) { if (!e || !t) return !1; if (-1 !== t.indexOf(" ")) throw new Error("className should not contain space."); return e.classList ? e.classList.contains(t) : (" " + e.className + " ").indexOf(" " + t + " ") > -1 } t.once = function (e, t, n) { d(e, t, (function r() { n && n.apply(this, arguments), f(e, t, r) })) }; var h = t.getStyle = u < 9 ? function (e, t) { if (!o) { if (!e || !t) return null; "float" === (t = l(t)) && (t = "styleFloat"); try { if ("opacity" === t) try { return e.filters.item("alpha").opacity / 100 } catch (n) { return 1 } return e.style[t] || e.currentStyle ? e.currentStyle[t] : null } catch (n) { return e.style[t] } } } : function (e, t) { if (!o) { if (!e || !t) return null; "float" === (t = l(t)) && (t = "cssFloat"); try { var n = document.defaultView.getComputedStyle(e, ""); return e.style[t] || n ? n[t] : null } catch (r) { return e.style[t] } } }, g = t.isScroll = function (e, t) { if (!o) { var n = null !== t && t !== undefined; return h(e, n ? t ? "overflow-y" : "overflow-x" : "overflow").match(/(scroll|auto|overlay)/) } }; t.getScrollContainer = function (e, t) { if (!o) { for (var n = e; n;) { if ([window, document, document.documentElement].includes(n)) return window; if (g(n, t)) return n; n = n.parentNode } return n } }, t.isInContainer = function (e, t) { if (o || !e || !t) return !1; var n, r = e.getBoundingClientRect(); return n = [window, document, document.documentElement, null, undefined].includes(t) ? { top: 0, right: window.innerWidth, bottom: window.innerHeight, left: 0 } : t.getBoundingClientRect(), r.top < n.bottom && r.bottom > n.top && r.right > n.left && r.left < n.right } }, 164: function () { "use strict"; !function () { if ("undefined" != typeof Prism && "undefined" != typeof document) { var e = { javascript: "clike", actionscript: "javascript", apex: ["clike", "sql"], arduino: "cpp", aspnet: ["markup", "csharp"], birb: "clike", bison: "c", c: "clike", csharp: "clike", cpp: "c", cfscript: "clike", chaiscript: ["clike", "cpp"], cilkc: "c", cilkcpp: "cpp", coffeescript: "javascript", crystal: "ruby", "css-extras": "css", d: "clike", dart: "clike", django: "markup-templating", ejs: ["javascript", "markup-templating"], etlua: ["lua", "markup-templating"], erb: ["ruby", "markup-templating"], fsharp: "clike", "firestore-security-rules": "clike", flow: "javascript", ftl: "markup-templating", gml: "clike", glsl: "c", go: "clike", gradle: "clike", groovy: "clike", haml: "ruby", handlebars: "markup-templating", haxe: "clike", hlsl: "c", idris: "haskell", java: "clike", javadoc: ["markup", "java", "javadoclike"], jolie: "clike", jsdoc: ["javascript", "javadoclike", "typescript"], "js-extras": "javascript", json5: "json", jsonp: "json", "js-templates": "javascript", kotlin: "clike", latte: ["clike", "markup-templating", "php"], less: "css", lilypond: "scheme", liquid: "markup-templating", markdown: "markup", "markup-templating": "markup", mongodb: "javascript", n4js: "javascript", objectivec: "c", opencl: "c", parser: "markup", php: "markup-templating", phpdoc: ["php", "javadoclike"], "php-extras": "php", plsql: "sql", processing: "clike", protobuf: "clike", pug: ["markup", "javascript"], purebasic: "clike", purescript: "haskell", qsharp: "clike", qml: "javascript", qore: "clike", racket: "scheme", cshtml: ["markup", "csharp"], jsx: ["markup", "javascript"], tsx: ["jsx", "typescript"], reason: "clike", ruby: "clike", sass: "css", scss: "css", scala: "java", "shell-session": "bash", smarty: "markup-templating", solidity: "clike", soy: "markup-templating", sparql: "turtle", sqf: "clike", squirrel: "clike", stata: ["mata", "java", "python"], "t4-cs": ["t4-templating", "csharp"], "t4-vb": ["t4-templating", "vbnet"], tap: "yaml", tt2: ["clike", "markup-templating"], textile: "markup", twig: "markup-templating", typescript: "javascript", v: "clike", vala: "clike", vbnet: "basic", velocity: "markup", wiki: "markup", xeora: "markup", "xml-doc": "markup", xquery: "markup" }, t = { html: "markup", xml: "markup", svg: "markup", mathml: "markup", ssml: "markup", atom: "markup", rss: "markup", js: "javascript", g4: "antlr4", ino: "arduino", "arm-asm": "armasm", art: "arturo", adoc: "asciidoc", avs: "avisynth", avdl: "avro-idl", gawk: "awk", sh: "bash", shell: "bash", shortcode: "bbcode", rbnf: "bnf", oscript: "bsl", cs: "csharp", dotnet: "csharp", cfc: "cfscript", "cilk-c": "cilkc", "cilk-cpp": "cilkcpp", cilk: "cilkcpp", coffee: "coffeescript", conc: "concurnas", jinja2: "django", "dns-zone": "dns-zone-file", dockerfile: "docker", gv: "dot", eta: "ejs", xlsx: "excel-formula", xls: "excel-formula", gamemakerlanguage: "gml", po: "gettext", gni: "gn", ld: "linker-script", "go-mod": "go-module", hbs: "handlebars", mustache: "handlebars", hs: "haskell", idr: "idris", gitignore: "ignore", hgignore: "ignore", npmignore: "ignore", webmanifest: "json", kt: "kotlin", kts: "kotlin", kum: "kumir", tex: "latex", context: "latex", ly: "lilypond", emacs: "lisp", elisp: "lisp", "emacs-lisp": "lisp", md: "markdown", moon: "moonscript", n4jsd: "n4js", nani: "naniscript", objc: "objectivec", qasm: "openqasm", objectpascal: "pascal", px: "pcaxis", pcode: "peoplecode", plantuml: "plant-uml", pq: "powerquery", mscript: "powerquery", pbfasm: "purebasic", purs: "purescript", py: "python", qs: "qsharp", rkt: "racket", razor: "cshtml", rpy: "renpy", res: "rescript", robot: "robotframework", rb: "ruby", "sh-session": "shell-session", shellsession: "shell-session", smlnj: "sml", sol: "solidity", sln: "solution-file", rq: "sparql", sclang: "supercollider", t4: "t4-cs", trickle: "tremor", troy: "tremor", trig: "turtle", ts: "typescript", tsconfig: "typoscript", uscript: "unrealscript", uc: "unrealscript", url: "uri", vb: "visual-basic", vba: "visual-basic", webidl: "web-idl", mathematica: "wolfram", nb: "wolfram", wl: "wolfram", xeoracube: "xeora", yml: "yaml" }, n = {}, r = "components/", i = Prism.util.currentScript(); if (i) { var o = /\bplugins\/autoloader\/prism-autoloader\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i, a = /(^|\/)[\w-]+\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i, s = i.getAttribute("data-autoloader-path"); if (null != s) r = s.trim().replace(/\/?$/, "/"); else { var u = i.src; o.test(u) ? r = u.replace(o, "components/") : a.test(u) && (r = u.replace(a, "$1components/")) } } var c = Prism.plugins.autoloader = { languages_path: r, use_minified: !0, loadLanguages: d }; Prism.hooks.add("complete", (function (e) { var t = e.element, n = e.language; if (t && n && "none" !== n) { var r = function (e) { var t = (e.getAttribute("data-dependencies") || "").trim(); if (!t) { var n = e.parentElement; n && "pre" === n.tagName.toLowerCase() && (t = (n.getAttribute("data-dependencies") || "").trim()) } return t ? t.split(/\s*,\s*/g) : [] }(t); /^diff-./i.test(n) ? (r.push("diff"), r.push(n.substr(5))) : r.push(n), r.every(l) || d(r, (function () { Prism.highlightElement(t) })) } })) } function l(e) { if (e.indexOf("!") >= 0) return !1; if ((e = t[e] || e) in Prism.languages) return !0; var r = n[e]; return r && !r.error && !1 === r.loading } function d(r, i, o) { "string" == typeof r && (r = [r]); var a = r.length, s = 0, u = !1; function p() { u || ++s === a && i && i(r) } 0 !== a ? r.forEach((function (r) { !function (r, i, o) { var a = r.indexOf("!") >= 0; function s() { var e = n[r]; e || (e = n[r] = { callbacks: [] }), e.callbacks.push({ success: i, error: o }), !a && l(r) ? f(r, "success") : !a && e.error ? f(r, "error") : !a && e.loading || (e.loading = !0, e.error = !1, function (e, t, n) { var r = document.createElement("script"); r.src = e, r.async = !0, r.onload = function () { document.body.removeChild(r), t && t() }, r.onerror = function () { document.body.removeChild(r), n && n() }, document.body.appendChild(r) }(function (e) { return c.languages_path + "prism-" + e + (c.use_minified ? ".min" : "") + ".js" }(r), (function () { e.loading = !1, f(r, "success") }), (function () { e.loading = !1, e.error = !0, f(r, "error") }))) } r = r.replace("!", ""), r = t[r] || r; var u = e[r]; u && u.length ? d(u, s, o) : s() }(r, p, (function () { u || (u = !0, o && o(r)) })) })) : i && setTimeout(i, 0) } function f(e, t) { if (n[e]) { for (var r = n[e].callbacks, i = 0, o = r.length; i < o; i++) { var a = r[i][t]; a && setTimeout(a, 0) } r.length = 0 } } }() }, 7861: function (e, t, n) { "use strict"; var r = function (e) { var t = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, n = 0, r = {}, i = { manual: e.Prism && e.Prism.manual, disableWorkerMessageHandler: e.Prism && e.Prism.disableWorkerMessageHandler, util: { encode: function h(e) { return e instanceof o ? new o(e.type, h(e.content), e.alias) : Array.isArray(e) ? e.map(h) : e.replace(/&/g, "&").replace(/= d.reach); E += w.value.length, w = w.next) { var x = w.value; if (t.length > e.length) return; if (!(x instanceof o)) { var A, C = 1; if (_) { if (!(A = a(k, E, e, v)) || A.index >= e.length) break; var I = A.index, D = A.index + A[0].length, O = E; for (O += w.value.length; I >= O;)O += (w = w.next).value.length; if (E = O -= w.value.length, w.value instanceof o) continue; for (var S = w; S !== t.tail && (O < D || "string" == typeof S.value); S = S.next)C++, O += S.value.length; C--, x = e.slice(E, O), A.index -= E } else if (!(A = a(k, 0, x, v))) continue; I = A.index; var T = A[0], M = x.slice(0, I), N = x.slice(I + T.length), P = E + x.length; d && P > d.reach && (d.reach = P); var F = w.prev; if (M && (F = c(t, F, M), E += M.length), l(t, F, C), w = c(t, F, new o(f, m ? i.tokenize(T, m) : T, y, T)), N && c(t, w, N), C > 1) { var L = { cause: f + "," + h, reach: P }; s(e, t, n, w.prev, E, L), d && L.reach > d.reach && (d.reach = L.reach) } } } } } } function u() { var e = { value: null, prev: null, next: null }, t = { value: null, prev: e, next: null }; e.next = t, this.head = e, this.tail = t, this.length = 0 } function c(e, t, n) { var r = t.next, i = { value: n, prev: t, next: r }; return t.next = i, r.prev = i, e.length++, i } function l(e, t, n) { for (var r = t.next, i = 0; i < n && r !== e.tail; i++)r = r.next; t.next = r, r.prev = t, e.length -= i } if (e.Prism = i, o.stringify = function v(e, t) { if ("string" == typeof e) return e; if (Array.isArray(e)) { var n = ""; return e.forEach((function (e) { n += v(e, t) })), n } var r = { type: e.type, content: v(e.content, t), tag: "span", classes: ["token", e.type], attributes: {}, language: t }, o = e.alias; o && (Array.isArray(o) ? Array.prototype.push.apply(r.classes, o) : r.classes.push(o)), i.hooks.run("wrap", r); var a = ""; for (var s in r.attributes) a += " " + s + '="' + (r.attributes[s] || "").replace(/"/g, """) + '"'; return "<" + r.tag + ' class="' + r.classes.join(" ") + '"' + a + ">" + r.content + "" + r.tag + ">" }, !e.document) return e.addEventListener ? (i.disableWorkerMessageHandler || e.addEventListener("message", (function (t) { var n = JSON.parse(t.data), r = n.language, o = n.code, a = n.immediateClose; e.postMessage(i.highlight(o, i.languages[r], r)), a && e.close() }), !1), i) : i; var d = i.util.currentScript(); function f() { i.manual || i.highlightAll() } if (d && (i.filename = d.src, d.hasAttribute("data-manual") && (i.manual = !0)), !i.manual) { var p = document.readyState; "loading" === p || "interactive" === p && d && d.defer ? document.addEventListener("DOMContentLoaded", f) : window.requestAnimationFrame ? window.requestAnimationFrame(f) : window.setTimeout(f, 16) } return i }("undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {}); e.exports && (e.exports = r), "undefined" != typeof n.g && (n.g.Prism = r), r.languages.markup = { comment: { pattern: //, greedy: !0 }, prolog: { pattern: /<\?[\s\S]+?\?>/, greedy: !0 }, doctype: { pattern: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, greedy: !0, inside: { "internal-subset": { pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, lookbehind: !0, greedy: !0, inside: null }, string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 }, punctuation: /^$|[[\]]/, "doctype-tag": /^DOCTYPE/i, name: /[^\s<>'"]+/ } }, cdata: { pattern: //i, greedy: !0 }, tag: { pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, greedy: !0, inside: { tag: { pattern: /^<\/?[^\s>\/]+/, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, "special-attr": [], "attr-value": { pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: "attr-equals" }, { pattern: /^(\s*)["']|["']$/, lookbehind: !0 }] } }, punctuation: /\/?>/, "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } }, entity: [{ pattern: /&[\da-z]{1,8};/i, alias: "named-entity" }, /?[\da-f]{1,8};/i] }, r.languages.markup.tag.inside["attr-value"].inside.entity = r.languages.markup.entity, r.languages.markup.doctype.inside["internal-subset"].inside = r.languages.markup, r.hooks.add("wrap", (function (e) { "entity" === e.type && (e.attributes.title = e.content.replace(/&/, "&")) })), Object.defineProperty(r.languages.markup.tag, "addInlined", { value: function (e, t) { var n = {}; n["language-" + t] = { pattern: /(^$)/i, lookbehind: !0, inside: r.languages[t] }, n.cdata = /^$/i; var i = { "included-cdata": { pattern: //i, inside: n } }; i["language-" + t] = { pattern: /[\s\S]+/, inside: r.languages[t] }; var o = {}; o[e] = { pattern: RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g, (function () { return e })), "i"), lookbehind: !0, greedy: !0, inside: i }, r.languages.insertBefore("markup", "cdata", o) } }), Object.defineProperty(r.languages.markup.tag, "addAttribute", { value: function (e, t) { r.languages.markup.tag.inside["special-attr"].push({ pattern: RegExp(/(^|["'\s])/.source + "(?:" + e + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, "i"), lookbehind: !0, inside: { "attr-name": /^[^\s=]+/, "attr-value": { pattern: /=[\s\S]+/, inside: { value: { pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, lookbehind: !0, alias: [t, "language-" + t], inside: r.languages[t] }, punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/] } } } }) } }), r.languages.html = r.languages.markup, r.languages.mathml = r.languages.markup, r.languages.svg = r.languages.markup, r.languages.xml = r.languages.extend("markup", {}), r.languages.ssml = r.languages.xml, r.languages.atom = r.languages.xml, r.languages.rss = r.languages.xml, function (e) { var t = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/; e.languages.css = { comment: /\/\*[\s\S]*?\*\//, atrule: { pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + t.source + ")*?" + /(?:;|(?=\s*\{))/.source), inside: { rule: /^@[\w-]+/, "selector-function-argument": { pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, lookbehind: !0, alias: "selector" }, keyword: { pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, lookbehind: !0 } } }, url: { pattern: RegExp("\\burl\\((?:" + t.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"), greedy: !0, inside: { "function": /^url/i, punctuation: /^\(|\)$/, string: { pattern: RegExp("^" + t.source + "$"), alias: "url" } } }, selector: { pattern: RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|" + t.source + ")*(?=\\s*\\{)"), lookbehind: !0 }, string: { pattern: t, greedy: !0 }, property: { pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, lookbehind: !0 }, important: /!important\b/i, "function": { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, lookbehind: !0 }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css; var n = e.languages.markup; n && (n.tag.addInlined("style", "css"), n.tag.addAttribute("style", "css")) }(r), r.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, boolean: /\b(?:false|true)\b/, "function": /\b\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, punctuation: /[{}[\];(),.:]/ }, r.languages.javascript = r.languages.extend("clike", { "class-name": [r.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, lookbehind: !0 }], keyword: [{ pattern: /((?:^|\})\s*)catch\b/, lookbehind: !0 }, { pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: !0 }], "function": /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, number: { pattern: RegExp(/(^|[^\w$])/.source + "(?:" + /NaN|Infinity/.source + "|" + /0[bB][01]+(?:_[01]+)*n?/.source + "|" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + /\d+(?:_\d+)*n/.source + "|" + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source + ")" + /(?![\w$])/.source), lookbehind: !0 }, operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ }), r.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/, r.languages.insertBefore("javascript", "keyword", { regex: { pattern: RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + /\//.source + "(?:" + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + "|" + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ")" + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source), lookbehind: !0, greedy: !0, inside: { "regex-source": { pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, lookbehind: !0, alias: "language-regex", inside: r.languages.regex }, "regex-delimiter": /^\/|\/$/, "regex-flags": /^[a-z]+$/ } }, "function-variable": { pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, lookbehind: !0, inside: r.languages.javascript }, { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, lookbehind: !0, inside: r.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, lookbehind: !0, inside: r.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, lookbehind: !0, inside: r.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ }), r.languages.insertBefore("javascript", "string", { hashbang: { pattern: /^#!.*/, greedy: !0, alias: "comment" }, "template-string": { pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, greedy: !0, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, interpolation: { pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, lookbehind: !0, inside: { "interpolation-punctuation": { pattern: /^\$\{|\}$/, alias: "punctuation" }, rest: r.languages.javascript } }, string: /[\s\S]+/ } }, "string-property": { pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, lookbehind: !0, greedy: !0, alias: "property" } }), r.languages.insertBefore("javascript", "operator", { "literal-property": { pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, lookbehind: !0, alias: "property" } }), r.languages.markup && (r.languages.markup.tag.addInlined("script", "javascript"), r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, "javascript")), r.languages.js = r.languages.javascript, function () { if (void 0 !== r && "undefined" != typeof document) { Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector); var e = { js: "javascript", py: "python", rb: "ruby", ps1: "powershell", psm1: "powershell", sh: "bash", bat: "batch", h: "c", tex: "latex" }, t = "data-src-status", n = "loading", i = "loaded", o = "pre[data-src]:not([" + t + '="' + i + '"]):not([' + t + '="' + n + '"])'; r.hooks.add("before-highlightall", (function (e) { e.selector += ", " + o })), r.hooks.add("before-sanity-check", (function (a) { var s = a.element; if (s.matches(o)) { a.code = "", s.setAttribute(t, n); var u = s.appendChild(document.createElement("CODE")); u.textContent = "Loading…"; var c = s.getAttribute("data-src"), l = a.language; if ("none" === l) { var d = (/\.(\w+)$/.exec(c) || [, "none"])[1]; l = e[d] || d } r.util.setLanguage(u, l), r.util.setLanguage(s, l); var f = r.plugins.autoloader; f && f.loadLanguages(l), function (e, t, n) { var r = new XMLHttpRequest; r.open("GET", e, !0), r.onreadystatechange = function () { 4 == r.readyState && (r.status < 400 && r.responseText ? t(r.responseText) : r.status >= 400 ? n("✖ Error " + r.status + " while fetching file: " + r.statusText) : n("✖ Error: File does not exist or is empty")) }, r.send(null) }(c, (function (e) { s.setAttribute(t, i); var n = function (e) { var t = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e || ""); if (t) { var n = Number(t[1]), r = t[2], i = t[3]; return r ? i ? [n, Number(i)] : [n, undefined] : [n, n] } return undefined }(s.getAttribute("data-range")); if (n) { var o = e.split(/\r\n?|\n/g), a = n[0], c = null == n[1] ? o.length : n[1]; a < 0 && (a += o.length), a = Math.max(0, Math.min(a - 1, o.length)), c < 0 && (c += o.length), c = Math.max(0, Math.min(c, o.length)), e = o.slice(a, c).join("\n"), s.hasAttribute("data-start") || s.setAttribute("data-start", String(a + 1)) } u.textContent = e, r.highlightElement(u) }), (function (e) { s.setAttribute(t, "failed"), u.textContent = e })) } })), r.plugins.fileHighlight = { highlight: function (e) { for (var t, n = (e || document).querySelectorAll(o), i = 0; t = n[i++];)r.highlightElement(t) } }; var a = !1; r.fileHighlight = function () { a || (console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."), a = !0), r.plugins.fileHighlight.highlight.apply(this, arguments) } } }() }, 8745: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(5312)), o = r(n(9753)), a = r(n(2270)); t.Z = { components: { TkComments: i["default"], TkFooter: o["default"], TkAdmin: a["default"] }, data: function () { return { showAdmin: !1, showAdminEntry: !1 } }, methods: { onShowAdminEntry: function (e) { this.showAdminEntry = e } } } }, 7466: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(5570)), o = r(n(1455)), a = r(n(6845)), s = r(n(6230)); t.Z = { data: function () { return { iconComment: i["default"], iconCommentSolid: o["default"], iconLike: a["default"], iconLikeSolid: s["default"] } }, props: { liked: Boolean, likeCount: Number, repliesCount: Number }, computed: { likeCountStr: function () { return this.likeCount > 0 ? "".concat(this.likeCount) : "" }, repliesCountStr: function () { return this.repliesCount > 0 ? "".concat(this.repliesCount) : "" } }, methods: { onLike: function (e) { e.preventDefault(), this.$emit("like") }, onReply: function (e) { e.preventDefault(), this.$emit("reply") } } } }, 4577: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = r(n(2290)), s = r(n(9726)), u = r(n(3035)), c = r(n(3388)), l = r(n(9942)), d = n(2304), f = r(n(7848)); t.Z = { components: { TkAdminComment: s["default"], TkAdminConfig: u["default"], TkAdminImport: c["default"], TkAdminExport: l["default"] }, props: { show: Boolean }, data: function () { return { iconClose: f["default"], loading: !0, version: "", needUpdate: !1, isLogin: !1, isSetPassword: !0, isSetCredentials: !1, credentials: "", password: "", passwordConfirm: "", loginErrorMessage: "", activeTabName: "comment" } }, computed: { canRegist: function () { return !this.isSetPassword && !!this.password && this.password === this.passwordConfirm && (this.isSetCredentials || this.credentials) } }, methods: { t: d.t, onLogin: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (e.password) { t.next = 3; break } return e.loginErrorMessage = (0, d.t)("ADMIN_PASSWORD_REQUIRED"), t.abrupt("return"); case 3: return e.loading = !0, e.loginErrorMessage = "", n = (0, a["default"])(e.password), t.next = 8, (0, d.call)(e.$tcb, "LOGIN", { password: n }); case 8: if (!(r = t.sent).result.message) { t.next = 13; break } e.loginErrorMessage = r.result.message, t.next = 28; break; case 13: if (!r.result.ticket) { t.next = 27; break } return t.prev = 14, t.next = 17, e.$tcb.auth.customAuthProvider().signIn(r.result.ticket); case 17: d.logger.log("登录成功"), e.password = "", e.checkAuth(), t.next = 25; break; case 22: t.prev = 22, t.t0 = t["catch"](14), d.logger.error("登录失败", t.t0); case 25: t.next = 28; break; case 27: 0 === r.result.code && (d.logger.log("登录成功"), localStorage.setItem("twikoo-access-token", n), e.password = "", e.checkAuth()); case 28: e.loading = !1; case 29: case "end": return t.stop() } }), t, null, [[14, 22]]) })))() }, onLogout: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: if (e.preventDefault(), t.loading = !0, !t.$tcb) { n.next = 9; break } return n.next = 5, t.$tcb.auth.signOut(); case 5: return n.next = 7, t.$tcb.auth.anonymousAuthProvider().signIn(); case 7: n.next = 10; break; case 9: localStorage.removeItem("twikoo-access-token"); case 10: t.isLogin = !1, t.loading = !1; case 12: case "end": return n.stop() } }), n) })))() }, onRegist: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, n = (0, a["default"])(e.password), t.next = 4, (0, d.call)(e.$tcb, "SET_PASSWORD", { password: n, credentials: e.credentials }); case 4: (r = t.sent).result.code ? (e.loginErrorMessage = (0, d.t)("ADMIN_REGIST_FAILED"), r.result.message && (e.loginErrorMessage += "," + r.result.message), d.logger.warn("Twikoo 注册失败", r)) : (e.passwordMd5 = "", e.isSetPassword = !0, e.onLogin()), e.loading = !1; case 7: case "end": return t.stop() } }), t) })))() }, onShow: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, t.next = 3, e.checkAuth(); case 3: if (e.isLogin) { t.next = 7; break } return t.next = 6, e.checkIfPasswordSet(); case 6: e.focusPassword(); case 7: e.loading = !1; case 8: case "end": return t.stop() } }), t) })))() }, focusPassword: function () { var e = this; setTimeout((function () { e.$refs.focusme && e.$refs.focusme.focus() }), 500) }, checkAuth: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (!e.$tcb) { t.next = 7; break } return t.next = 3, e.$tcb.auth.getCurrenUser(); case 3: n = t.sent, e.isLogin = "CUSTOM" === n.loginType, t.next = 11; break; case 7: return t.next = 9, (0, d.call)(e.$tcb, "GET_CONFIG"); case 9: (r = t.sent) && r.result && r.result.config && (e.isLogin = r.result.config.IS_ADMIN); case 11: case "end": return t.stop() } }), t) })))() }, checkIfPasswordSet: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.prev = 0, t.next = 3, (0, d.call)(e.$tcb, "GET_PASSWORD_STATUS"); case 3: n = t.sent, e.version = n.result.version, e.isSetPassword = n.result.status, e.isSetCredentials = !e.$tcb, t.next = 14; break; case 9: throw t.prev = 9, t.t0 = t["catch"](0), e.needUpdate = !0, e.loading = !1, t.t0; case 14: case "end": return t.stop() } }), t, null, [[0, 9]]) })))() }, onClose: function (e) { e.preventDefault(), this.$emit("close") } }, watch: { show: function (e) { e && this.onShow() } } } }, 9434: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(7588), s = n(2304), u = n(8521), c = r(n(906)), l = r(n(4620)); t.Z = { components: { TkAvatar: c["default"], TkPagination: l["default"] }, data: function () { return { loading: !0, comments: [], serverConfig: {}, serverVersion: this.$twikoo.serverConfig.VERSION, clientVersion: u.version, count: 0, pageSize: 5, currentPage: 1, filter: { keyword: "", type: "" } } }, methods: { t: s.t, displayCreated: function (e) { return (0, s.timeago)(e.created) }, convertLink: function (e) { return (0, s.convertLink)(e) }, getComments: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, t.next = 3, (0, s.call)(e.$tcb, "COMMENT_GET_FOR_ADMIN", { per: e.pageSize, page: e.currentPage, keyword: e.filter.keyword, type: e.filter.type }); case 3: (n = t.sent).result && !n.result.code && (e.count = n.result.count, e.comments = n.result.data), e.$nextTick((function () { (0, s.renderLinks)(e.$refs.comments), (0, s.renderMath)(e.$refs["comment-list"], e.$twikoo.katex), e.highlightCode() })), e.loading = !1; case 7: case "end": return t.stop() } }), t) })))() }, getConfig: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, (0, s.call)(e.$tcb, "GET_CONFIG_FOR_ADMIN"); case 2: (n = t.sent).result && !n.result.code && (e.serverConfig = n.result.config, e.checkConfig()); case 4: case "end": return t.stop() } }), t) })))() }, checkConfig: function () { var e = this; this.serverConfig.HIGHLIGHT || (this.serverConfig.HIGHLIGHT = "true"); var t = {}, n = localStorage.getItem("twikoo"); n && (t = JSON.parse(n)), ["nick", "mail", "avatar"].forEach((function (n) { t[n] ? e.serverConfig[n] = t[n] : e.serverConfig[n] = "" })), !t.nick && this.serverConfig.BLOGGER_NICK && (t.nick = this.serverConfig.BLOGGER_NICK), !t.mail && this.serverConfig.BLOGGER_EMAIL && (t.mail = this.serverConfig.BLOGGER_EMAIL), !t.link && this.serverConfig.SITE_URL && (t.link = this.serverConfig.SITE_URL), localStorage.setItem("twikoo", JSON.stringify(t)), a.app.$emit("initMeta") }, onPageSizeChange: function (e) { this.pageSize = e, this.getComments() }, switchPage: function (e) { this.currentPage = e, this.getComments() }, handleView: function (e) { window.open("".concat(e.url, "#").concat(e._id)) }, handleDelete: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: if (confirm((0, s.t)("ADMIN_COMMENT_DELETE_CONFIRM"))) { n.next = 2; break } return n.abrupt("return"); case 2: return t.loading = !0, n.next = 5, (0, s.call)(t.$tcb, "COMMENT_DELETE_FOR_ADMIN", { id: e._id }); case 5: return n.next = 7, t.getComments(); case 7: t.loading = !1; case 8: case "end": return n.stop() } }), n) })))() }, handleSpam: function (e, t) { this.setComment(e, { isSpam: t }) }, handleTop: function (e, t) { this.setComment(e, { top: t }) }, setComment: function (e, t) { var n = this; return (0, o["default"])(i["default"].mark((function r() { return i["default"].wrap((function (r) { for (; ;)switch (r.prev = r.next) { case 0: return n.loading = !0, r.next = 3, (0, s.call)(n.$tcb, "COMMENT_SET_FOR_ADMIN", { id: e._id, set: t }); case 3: return r.next = 5, n.getComments(); case 5: n.loading = !1; case 6: case "end": return r.stop() } }), r) })))() }, highlightCode: function () { "true" === this.serverConfig.HIGHLIGHT && (0, s.renderCode)(this.$refs["comment-list"], this.serverConfig.HIGHLIGHT_THEME) } }, mounted: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, Promise.all([e.getConfig(), e.getComments()]); case 2: e.highlightCode(); case 3: case "end": return t.stop() } }), t) })))() } } }, 9859: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304), s = n(8521); function u(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return c(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? c(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function c(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } t.Z = { data: function () { return { loading: !0, settings: [{ name: (0, a.t)("ADMIN_CONFIG_CATEGORY_COMMON"), items: [{ key: "SITE_NAME", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SITE_NAME"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "虹墨空间站"), value: "" }, { key: "SITE_URL", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SITE_URL"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "https://www.imaegoo.com"), value: "" }, { key: "CORS_ALLOW_ORIGIN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_CORS_ALLOW_ORIGIN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "https://www.imaegoo.com"), value: "" }, { key: "BLOGGER_NICK", desc: (0, a.t)("ADMIN_CONFIG_ITEM_BLOGGER_NICK"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "iMaeGoo"), value: "" }, { key: "BLOGGER_EMAIL", desc: (0, a.t)("ADMIN_CONFIG_ITEM_BLOGGER_EMAIL"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "12345@qq.com"), value: "" }, { key: "COMMENT_PAGE_SIZE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_COMMENT_PAGE_SIZE"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "8"), value: "" }, { key: "MASTER_TAG", desc: (0, a.t)("ADMIN_CONFIG_ITEM_MASTER_TAG"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "站长"), value: "" }, { key: "COMMENT_BG_IMG", desc: (0, a.t)("ADMIN_CONFIG_ITEM_COMMENT_BG_IMG"), ph: "", value: "" }, { key: "GRAVATAR_CDN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_GRAVATAR_CDN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "sdn.geekzu.org"), value: "" }, { key: "DEFAULT_GRAVATAR", desc: (0, a.t)("ADMIN_CONFIG_ITEM_DEFAULT_GRAVATAR"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "mp"), value: "" }, { key: "COMMENT_PLACEHOLDER", desc: (0, a.t)("ADMIN_CONFIG_ITEM_COMMENT_PLACEHOLDER"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE")), value: "" }, { key: "DISPLAYED_FIELDS", desc: (0, a.t)("ADMIN_CONFIG_ITEM_DISPLAYED_FIELDS"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "nick,mail,link"), value: "" }, { key: "REQUIRED_FIELDS", desc: (0, a.t)("ADMIN_CONFIG_ITEM_REQUIRED_FIELDS"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "nick,mail,link"), value: "" }, { key: "HIDE_ADMIN_CRYPT", desc: (0, a.t)("ADMIN_CONFIG_ITEM_HIDE_ADMIN_CRYPT"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "admin"), value: "" }] }, { name: (0, a.t)("ADMIN_CONFIG_CATEGORY_PLUGIN"), items: [{ key: "SHOW_IMAGE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SHOW_IMAGE"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "false"), value: "" }, { key: "IMAGE_CDN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_IMAGE_CDN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "qcloud"), value: "" }, { key: "IMAGE_CDN_TOKEN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_IMAGE_CDN_TOKEN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "example"), value: "" }, { key: "SHOW_EMOTION", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SHOW_EMOTION"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "false"), value: "" }, { key: "EMOTION_CDN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_EMOTION_CDN"), ph: "", value: "" }, { key: "HIGHLIGHT", desc: (0, a.t)("ADMIN_CONFIG_ITEM_HIGHLIGHT"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "false"), value: "" }, { key: "HIGHLIGHT_THEME", desc: (0, a.t)("ADMIN_CONFIG_ITEM_HIGHLIGHT_THEME"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "tomorrow"), value: "" }] }, { name: (0, a.t)("ADMIN_CONFIG_CATEGORY_PRIVACY"), items: [{ key: "SHOW_UA", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SHOW_UA"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "false"), value: "" }, { key: "SHOW_REGION", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SHOW_REGION"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "true"), value: "" }] }, { name: (0, a.t)("ADMIN_CONFIG_CATEGORY_SPAM"), items: [{ key: "AKISMET_KEY", desc: (0, a.t)("ADMIN_CONFIG_ITEM_AKISMET_KEY"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "8651783edxxx"), value: "" }, { key: "QCLOUD_SECRET_ID", desc: (0, a.t)("ADMIN_CONFIG_ITEM_QCLOUD_SECRET_ID"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "AKIDBgZDdnbTw9D4ey9qPkrkwtb2Do9EwIHw"), value: "" }, { key: "QCLOUD_SECRET_KEY", desc: (0, a.t)("ADMIN_CONFIG_ITEM_QCLOUD_SECRET_KEY"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "XrkOnvKWS7WeXbP1QZT76rPgtpWx73D7"), value: "", secret: !0 }, { key: "LIMIT_PER_MINUTE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_LIMIT_PER_MINUTE"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "5"), value: "" }, { key: "LIMIT_PER_MINUTE_ALL", desc: (0, a.t)("ADMIN_CONFIG_ITEM_LIMIT_PER_MINUTE_ALL"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "5"), value: "" }, { key: "LIMIT_LENGTH", desc: (0, a.t)("ADMIN_CONFIG_ITEM_LIMIT_LENGTH"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "100"), value: "" }, { key: "FORBIDDEN_WORDS", desc: (0, a.t)("ADMIN_CONFIG_ITEM_FORBIDDEN_WORDS"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "快递,空包"), value: "" }, { key: "BLOCKED_WORDS", desc: (0, a.t)("ADMIN_CONFIG_ITEM_BLOCKED_WORDS"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "快递,空包"), value: "" }, { key: "NOTIFY_SPAM", desc: (0, a.t)("ADMIN_CONFIG_ITEM_NOTIFY_SPAM"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "false"), value: "" }, { key: "TURNSTILE_SITE_KEY", desc: (0, a.t)("ADMIN_CONFIG_ITEM_TURNSTILE_SITE_KEY"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "0x4AAAAAAAPLTtpBr_T12345"), value: "" }, { key: "TURNSTILE_SECRET_KEY", desc: (0, a.t)("ADMIN_CONFIG_ITEM_TURNSTILE_SECRET_KEY"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "0x4AAAAAAAPLTmBm6gHmOnOqC1iwmU12345"), value: "", secret: !0 }] }, { name: (0, a.t)("ADMIN_CONFIG_CATEGORY_IM"), items: [{ key: "PUSHOO_CHANNEL", desc: (0, a.t)("ADMIN_CONFIG_ITEM_PUSHOO_CHANNEL"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "pushdeer"), value: "" }, { key: "PUSHOO_TOKEN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_PUSHOO_TOKEN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "PDU431TfFHZICvR6lJrFBswSRN1cJ*****zzFvR"), value: "" }, { key: "SC_MAIL_NOTIFY", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SC_MAIL_NOTIFY"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "true"), value: "" }] }, { name: (0, a.t)("ADMIN_CONFIG_CATEGORY_MAIL"), items: [{ key: "SENDER_EMAIL", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SENDER_EMAIL"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "blog@imaegoo.com"), value: "" }, { key: "SENDER_NAME", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SENDER_NAME"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "虹墨空间站评论提醒"), value: "" }, { key: "SMTP_SERVICE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_SERVICE"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "QQ"), value: "" }, { key: "SMTP_HOST", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_HOST"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "smtp.qq.com"), value: "" }, { key: "SMTP_PORT", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_PORT"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "465"), value: "" }, { key: "SMTP_SECURE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_SECURE"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "true"), value: "" }, { key: "SMTP_USER", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_USER"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "blog@imaegoo.com"), value: "" }, { key: "SMTP_PASS", desc: (0, a.t)("ADMIN_CONFIG_ITEM_SMTP_PASS"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "password"), value: "", secret: !0 }, { key: "MAIL_SUBJECT", desc: (0, a.t)("ADMIN_CONFIG_ITEM_MAIL_SUBJECT"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "您在虹墨空间站上的评论收到了回复"), value: "" }, { key: "MAIL_TEMPLATE", desc: (0, a.t)("ADMIN_CONFIG_ITEM_MAIL_TEMPLATE"), ph: "", value: "" }, { key: "MAIL_SUBJECT_ADMIN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_MAIL_SUBJECT_ADMIN"), ph: "".concat((0, a.t)("ADMIN_CONFIG_EXAMPLE"), "虹墨空间站上有新评论了"), value: "" }, { key: "MAIL_TEMPLATE_ADMIN", desc: (0, a.t)("ADMIN_CONFIG_ITEM_MAIL_TEMPLATE_ADMIN"), ph: "", value: "" }] }], serverConfig: {}, serverVersion: this.$twikoo.serverConfig.VERSION, clientVersion: s.version, message: "", emailTestAddress: "", emailTestResult: "" } }, methods: { t: a.t, readConfig: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, t.next = 3, (0, a.call)(e.$tcb, "GET_CONFIG_FOR_ADMIN"); case 3: (n = t.sent).result && !n.result.code && (e.serverConfig = n.result.config, e.resetConfig()), e.loading = !1; case 6: case "end": return t.stop() } }), t) })))() }, resetConfig: function () { var e, t = u(this.settings); try { for (t.s(); !(e = t.n()).done;) { var n, r = u(e.value.items); try { for (r.s(); !(n = r.n()).done;) { var i = n.value; this.serverConfig[i.key] && (i.value = this.serverConfig[i.key]) } } catch (o) { r.e(o) } finally { r.f() } } } catch (o) { t.e(o) } finally { t.f() } }, saveConfig: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r, o, s, c, l, d, f, p; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: e.loading = !0, e.message = "正在保存", n = {}, r = u(e.settings); try { for (r.s(); !(o = r.n()).done;) { s = o.value, c = u(s.items); try { for (c.s(); !(l = c.n()).done;)d = l.value, f = e.serverConfig[d.key], p = d.value, f !== p && (n[d.key] = d.value) } catch (i) { c.e(i) } finally { c.f() } } } catch (i) { r.e(i) } finally { r.f() } return a.logger.log("保存配置", n), t.next = 8, (0, a.call)(e.$tcb, "SET_CONFIG", { config: n }); case 8: return t.next = 10, e.readConfig(); case 10: e.message = "保存成功", e.loading = !1; case 12: case "end": return t.stop() } }), t) })))() }, testEmail: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, t.next = 3, (0, a.call)(e.$tcb, "EMAIL_TEST", { mail: e.emailTestAddress }); case 3: n = t.sent, a.logger.log("邮件测试", n), e.emailTestResult = JSON.stringify(n), e.loading = !1; case 7: case "end": return t.stop() } }), t) })))() } }, mounted: function () { this.readConfig() } } }, 7504: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304); t.Z = { data: function () { return { loading: !1 } }, methods: { t: a.t, doExport: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { var r; return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: return t.loading = !0, n.prev = 1, n.next = 4, (0, a.call)(t.$tcb, "COMMENT_EXPORT_FOR_ADMIN", { collection: e }); case 4: (r = n.sent).result.data && t.downloadJson("twikoo-".concat(e, ".json"), r.result.data); case 6: return n.prev = 6, t.loading = !1, n.finish(6); case 9: case "end": return n.stop() } }), n, null, [[1, , 6, 9]]) })))() }, downloadJson: function (e, t) { var n = t instanceof Object ? JSON.stringify(t, null, 2) : t, r = window.URL || window.webkitURL || window, i = new Blob([n]), o = document.createElementNS("http://www.w3.org/1999/xhtml", "a"); o.href = r.createObjectURL(i), o.download = e, o.click() } } } }, 2943: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304); t.Z = { data: function () { return { loading: !1, source: "", logText: "", warnText: { valine: (0, a.t)("ADMIN_IMPORT_TIP_VALINE"), disqus: (0, a.t)("ADMIN_IMPORT_TIP_DISQUS"), artalk: (0, a.t)("ADMIN_IMPORT_TIP_ARTALK"), artalk2: "", twikoo: "" } } }, methods: { t: a.t, uploadFile: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (e.source) { t.next = 3; break } return e.log((0, a.t)("ADMIN_IMPORT_SOURCE_REQUIRED")), t.abrupt("return"); case 3: if (n = e.$refs.inputFile.files[0]) { t.next = 7; break } return e.log((0, a.t)("ADMIN_IMPORT_FILE_REQUIRED")), t.abrupt("return"); case 7: if (e.log((0, a.t)("ADMIN_IMPORT_START")), e.loading = !0, t.prev = 9, !e.$tcb) { t.next = 19; break } return t.next = 13, e.$tcb.app.uploadFile({ cloudPath: "import/".concat(Date.now()), filePath: n, onUploadProgress: function (t) { var n = Math.round(100 * t.loaded / t.total); e.log("".concat((0, a.t)("ADMIN_IMPORT_UPLOADING")).concat(n, "%")) } }); case 13: return r = t.sent, e.log("".concat((0, a.t)("ADMIN_IMPORT_UPLOADED")).concat(r.fileID)), t.next = 17, e.importFile(r.fileID); case 17: t.next = 21; break; case 19: return t.next = 21, e.importFileToVercel(n); case 21: t.next = 27; break; case 23: t.prev = 23, t.t0 = t["catch"](9), console.error(t.t0), e.log(t.t0.message); case 27: e.loading = !1; case 28: case "end": return t.stop() } }), t, null, [[9, 23]]) })))() }, importFile: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { var r; return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: return t.log("".concat((0, a.t)("ADMIN_IMPORT_IMPORTING")).concat(t.source)), n.next = 3, (0, a.call)(t.$tcb, "COMMENT_IMPORT_FOR_ADMIN", { fileId: e, source: t.source }); case 3: r = n.sent, t.logText += r.result.log, t.log("".concat((0, a.t)("ADMIN_IMPORT_IMPORTED")).concat(t.source)); case 6: case "end": return n.stop() } }), n) })))() }, importFileToVercel: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { var r; return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: return t.log("".concat((0, a.t)("ADMIN_IMPORT_IMPORTING")).concat(t.source)), n.t0 = a.call, n.t1 = t.$tcb, n.next = 5, (0, a.readAsText)(e); case 5: return n.t2 = n.sent, n.t3 = t.source, n.t4 = { file: n.t2, source: n.t3 }, n.next = 10, (0, n.t0)(n.t1, "COMMENT_IMPORT_FOR_ADMIN", n.t4); case 10: r = n.sent, t.logText += r.result.log, t.log("".concat((0, a.t)("ADMIN_IMPORT_IMPORTED")).concat(t.source)); case 13: case "end": return n.stop() } }), n) })))() }, log: function (e) { this.logText += "".concat((new Date).toLocaleString(), " ").concat(e, "\n"), this.$nextTick(this.scrollLogToBottom) }, scrollLogToBottom: function () { if (this.$refs.logTextArea) { var e = this.$refs.logTextArea.$refs.textarea; e.scrollTop = e.scrollHeight } } } } }, 3419: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(2290)), o = n(2304), a = r(n(146)); t.Z = { props: { config: Object, avatar: String, mail: String, mailMd5: String, link: String }, data: function () { return { iconUser: a["default"] } }, computed: { gravatarCdn: function () { return this.config && this.config.GRAVATAR_CDN ? this.config.GRAVATAR_CDN : "cravatar.cn" }, defaultGravatar: function () { return this.config && this.config.DEFAULT_GRAVATAR ? this.config.DEFAULT_GRAVATAR : "identicon" }, avatarInner: function () { return this.avatar ? this.avatar : this.mailMd5 ? "https://".concat(this.gravatarCdn, "/avatar/").concat(this.mailMd5, "?d=").concat(this.defaultGravatar) : this.mail && (0, o.isQQ)(this.mail) ? (0, o.getQQAvatar)(this.mail) : this.mail ? "https://".concat(this.gravatarCdn, "/avatar/").concat((0, i["default"])((0, o.normalizeMail)(this.mail)), "?d=").concat(this.defaultGravatar) : "" } }, methods: { onClick: function () { this.$emit("click"), this.link && (window.open((0, o.convertLink)(this.link), "_blank").opener = null) } } } }, 4637: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304), s = r(n(1365)), u = r(n(906)), c = r(n(7179)), l = r(n(5461)), d = r(n(511)), f = r(n(4427)), p = r(n(5552)), h = r(n(4783)), g = r(n(7630)), m = r(n(7385)), v = r(n(3137)), _ = r(n(2170)), y = r(n(3447)), b = r(n(1576)), k = r(n(9e3)), w = { win: l["default"], mac: d["default"], ipad: d["default"], iphone: d["default"], ios: d["default"], android: f["default"], ubuntu: h["default"], linux: p["default"] }, E = { edge: y["default"], chrome: g["default"], firefox: m["default"], safari: v["default"], explorer: _["default"], ie: _["default"] }; t.Z = { name: "tk-comment", components: { TkAction: s["default"], TkAvatar: u["default"], TkSubmit: c["default"] }, data: function () { return { pid: "", like: 0, liked: !1, likeLoading: !1, isExpanded: !1, hasExpand: !1, isLogin: !1 } }, props: { comment: Object, replying: Boolean, config: Object }, computed: { displayCreated: function () { return (0, a.timeago)(this.comment.created) }, jsonTimestamp: function () { return new Date(this.comment.created).toJSON() }, localeTime: function () { return new Date(this.comment.created).toLocaleString() }, iconOs: function () { return this.getIconBy(this.comment.os, w) }, iconBrowser: function () { return this.getIconBy(this.comment.browser, E) }, iconLocation: function () { return k["default"] }, showExpand: function () { return this.hasExpand && !this.isExpanded }, showCollapse: function () { return this.hasExpand && this.isExpanded }, convertedLink: function () { return (0, a.convertLink)(this.comment.link) } }, methods: { t: a.t, getIconBy: function (e, t) { var n = e.toLowerCase(); for (var r in t) if (-1 !== n.indexOf(r)) return t[r]; return b["default"] }, showExpandIfNeed: function () { this.comment.replies && this.comment.replies.length > 0 && this.$refs["tk-replies"] && (this.hasExpand = this.$refs["tk-replies"].scrollHeight > 236) }, scrollToComment: function () { -1 !== window.location.hash.indexOf(this.comment.id) && (this.$refs["tk-comment"].scrollIntoView(), this.$emit("expand")) }, onLike: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (!e.likeLoading) { t.next = 2; break } return t.abrupt("return"); case 2: return e.likeLoading = !0, t.next = 5, (0, a.call)(e.$tcb, "COMMENT_LIKE", { id: e.comment.id }); case 5: e.liked ? e.like-- : e.like++, e.liked = !e.liked, e.likeLoading = !1; case 8: case "end": return t.stop() } }), t) })))() }, onReply: function () { this.$emit("reply", this.comment.id) }, onReplyReply: function (e) { this.pid = e, this.$emit("reply", this.comment.id) }, onCancel: function () { this.pid = "", this.$emit("reply", "") }, onLoad: function () { this.pid = "", this.$emit("reply", ""), this.$emit("load"), this.onExpand() }, onExpand: function () { this.isExpanded = !0 }, onCollapse: function () { this.isExpanded = !1 }, checkAuth: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (!e.$tcb) { t.next = 7; break } return t.next = 3, e.$tcb.auth.getCurrenUser(); case 3: n = t.sent, e.isLogin = "CUSTOM" === n.loginType, t.next = 8; break; case 7: e.isLogin = e.$twikoo.serverConfig && e.$twikoo.serverConfig.IS_ADMIN; case 8: case "end": return t.stop() } }), t) })))() }, handleSpam: function (e, t) { t.preventDefault(), this.setComment({ isSpam: e }) }, handleTop: function (e, t) { t.preventDefault(), this.setComment({ top: e }) }, setComment: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: return t.loading = !0, n.next = 3, (0, a.call)(t.$tcb, "COMMENT_SET_FOR_ADMIN", { id: t.comment.id, set: e }); case 3: t.loading = !1, t.$emit("load"); case 5: case "end": return n.stop() } }), n) })))() } }, mounted: function () { var e = this; this.$nextTick(this.showExpandIfNeed), this.$nextTick(this.scrollToComment), this.$nextTick((function () { (0, a.renderLinks)(e.$refs.comment), (0, a.renderMath)(e.$refs.comment, e.$twikoo.katex) })), this.checkAuth() }, watch: { "comment.like": { handler: function (e) { this.like = this.comment.like, this.liked = this.comment.liked }, immediate: !0 }, "config.HIGHLIGHT": { handler: function (e) { var t = this; "true" === e && this.$nextTick((function () { (0, a.renderCode)(t.$refs.comment, t.config.HIGHLIGHT_THEME) })) }, immediate: !0 } } } }, 315: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304), s = r(n(7179)), u = r(n(5915)), c = r(n(2561)), l = r(n(6342)), d = r(n(1848)); t.Z = { components: { TkSubmit: s["default"], TkComment: u["default"] }, props: { showAdminEntry: Boolean }, data: function () { return { loading: !0, loadingMore: !1, errorMessage: "", config: {}, comments: [], showExpand: !0, count: 0, replyId: "", iconSetting: c["default"], iconRefresh: l["default"] } }, methods: { t: a.t, initConfig: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, (0, a.call)(e.$tcb, "GET_CONFIG"); case 2: (n = t.sent) && n.result && n.result.config && (e.config = n.result.config, d["default"].prototype.$twikoo.serverConfig = n.result.config); case 4: case "end": return t.stop() } }), t) })))() }, initComments: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e.loading = !0, n = (0, a.getUrl)(e.$twikoo.path), t.next = 4, e.getComments({ url: n }); case 4: e.loading = !1; case 5: case "end": return t.stop() } }), t) })))() }, refresh: function () { this.comments = [], this.initComments() }, onExpand: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (!e.loadingMore) { t.next = 2; break } return t.abrupt("return"); case 2: return e.loadingMore = !0, n = (0, a.getUrl)(e.$twikoo.path), r = e.comments.filter((function (e) { return !e.top })).map((function (e) { return e.created })).sort((function (e, t) { return e - t }))[0], t.next = 7, e.getComments({ url: n, before: r }); case 7: e.loadingMore = !1; case 8: case "end": return t.stop() } }), t) })))() }, onCommentLoaded: function () { "function" == typeof this.$twikoo.onCommentLoaded && this.$twikoo.onCommentLoaded() }, getComments: function (e) { var t = this; return (0, o["default"])(i["default"].mark((function n() { var r; return i["default"].wrap((function (n) { for (; ;)switch (n.prev = n.next) { case 0: return n.prev = 0, n.next = 3, (0, a.call)(t.$tcb, "COMMENT_GET", e); case 3: (r = n.sent) && r.result && r.result.data && (t.comments = e.before ? t.comments.concat(r.result.data) : r.result.data, t.showExpand = r.result.more, t.count = r.result.count || t.comments.length || 0, t.$nextTick(t.onCommentLoaded)), n.next = 10; break; case 7: n.prev = 7, n.t0 = n["catch"](0), t.errorMessage = n.t0.message; case 10: case "end": return n.stop() } }), n, null, [[0, 7]]) })))() }, onReply: function (e) { this.replyId = e }, openAdmin: function () { this.$emit("admin") } }, mounted: function () { this.initConfig(), this.initComments() } } }, 6056: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = n(8521), s = n(2304); t.Z = { data: function () { return { version: a.version, counter: {} } }, methods: { getCounter: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r, o, a; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (n = document.getElementById("twikoo_visitors")) { t.next = 3; break } return t.abrupt("return"); case 3: if (-1 === ["localhost", "127.0.0.1", "0.0.0.0"].indexOf(window.location.hostname)) { t.next = 5; break } return t.abrupt("return"); case 5: return r = (0, s.getUrl)(e.$twikoo.path), o = (0, s.getHref)(e.$twikoo.href), t.next = 9, (0, s.call)(e.$tcb, "COUNTER_GET", { url: r, href: o, title: document.title }); case 9: a = t.sent, e.counter = a.result, (e.counter.time || 0 === e.counter.time) && (n.innerHTML = e.counter.time); case 12: case "end": return t.stop() } }), t) })))() } }, mounted: function () { this.getCounter() } } }, 1749: function (e, t, n) { "use strict"; Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var r = n(7588), i = n(2304), o = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; t.Z = { props: { nick: String, mail: String, link: String, config: Object }, data: function () { return { metaInputs: [{ key: "nick", locale: (0, i.t)("META_INPUT_NICK"), name: "nick", type: "text" }, { key: "mail", locale: (0, i.t)("META_INPUT_MAIL"), name: "mail", type: "email" }, { key: "link", locale: (0, i.t)("META_INPUT_LINK"), name: "link", type: "text" }], metaData: { nick: "", mail: "", link: "" } } }, computed: { displayedFields: function () { var e = this.config.DISPLAYED_FIELDS; return { nick: !e || -1 !== e.indexOf("nick"), mail: !e || -1 !== e.indexOf("mail"), link: !e || -1 !== e.indexOf("link") } }, displayedInputs: function () { var e = this; return this.metaInputs.filter((function (t) { return !!e.displayedFields[t.key] })) }, requiredFields: function () { var e = this.config.REQUIRED_FIELDS; return { nick: !e || -1 !== e.indexOf("nick"), mail: !e || -1 !== e.indexOf("mail"), link: !!e && -1 !== e.indexOf("link") } } }, methods: { t: i.t, initMeta: function () { var e = localStorage.getItem("twikoo"); if (e) { var t = JSON.parse(e); this.metaData.nick = t.nick, this.metaData.mail = t.mail, this.metaData.link = t.link } this.updateMeta() }, updateMeta: function () { localStorage.setItem("twikoo", JSON.stringify(this.metaData)), this.$emit("update", { meta: this.metaData, valid: this.checkValid() }) }, checkValid: function () { var e = o.test(this.metaData.mail); return (this.metaData.nick || !this.requiredFields.nick) && (e || !this.requiredFields.mail) && (this.metaData.link || !this.requiredFields.link) }, checkQQ: function () { if ((0, i.isQQ)(this.metaData.nick)) { var e = this.metaData.nick.replace(/@qq.com/gi, ""), t = "".concat(e, "@qq.com"); this.metaData.mail = t, this.getQQNick(e) } }, getQQNick: function (e) { var t = this, n = "https://api.qjqq.cn/api/qqinfo?qq=".concat(e), r = new XMLHttpRequest; r.onreadystatechange = function () { if (4 === r.readyState && 200 === r.status) { var e = JSON.parse(r.responseText); t.metaData.nick = e.name, t.updateMeta() } }, r.open("GET", n), r.send() }, checkAdminCrypt: function () { var e = this.$root.$children[0], t = !this.config.HIDE_ADMIN_CRYPT || this.config.HIDE_ADMIN_CRYPT === this.metaData.nick; e.onShowAdminEntry(t) }, onMetaChange: function () { this.checkQQ(), this.updateMeta(), this.checkAdminCrypt() } }, watch: { nick: function (e) { this.metaData.nick = e }, mail: function (e) { this.metaData.mail = e }, link: function (e) { this.metaData.link = e }, requiredFields: { handler: function (e, t) { this.$emit("update", { meta: this.metaData, valid: this.checkValid() }) }, deep: !0 }, "config.VERSION": function () { this.checkAdminCrypt() } }, mounted: function () { r.app.$on("initMeta", this.initMeta), this.initMeta() } } }, 7181: function (e, t, n) { "use strict"; Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var r = n(2304); t.Z = { props: { pageSize: { type: Number, "default": 10 }, total: { type: Number, "default": 0 } }, data: function () { return { currentPage: 1, userInput: 0, userPageSize: 0, pagers: [] } }, computed: { pageCount: function () { return Math.ceil(this.total / this.pageSize) } }, methods: { t: r.t, generatePager: function () { for (var e = [], t = 1; t <= this.pageCount; t++)Math.abs(this.currentPage - t) < 3 || 1 === t || t === this.pageCount ? e.push({ title: "".concat(t), page: t }) : Math.abs(this.currentPage - t) < 4 && e.push({ title: "...", page: t }); this.pagers = e }, currentChange: function (e) { this.currentPage = parseInt(e), this.currentPage > this.pageCount && (this.currentPage = this.pageCount), this.userInput = 0, this.$emit("current-change", this.currentPage), this.generatePager() }, pageSizeChamge: function (e) { this.userPageSize = 0, this.$emit("page-size-change", parseInt(e)) }, handleInput: function (e) { this.userInput = parseInt(e) }, handleInputPageSize: function (e) { this.userPageSize = parseInt(e) } }, watch: { total: { handler: function () { this.generatePager() }, immediate: !0 }, pageSize: { handler: function () { this.generatePager() } } } } }, 9420: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "X", { value: !0 }), t.Z = void 0; var i = r(n(818)), o = r(n(8711)), a = r(n(5242)), s = r(n(7702)), u = r(n(8384)), c = r(n(6879)), l = r(n(906)), d = r(n(6701)), f = n(2304), p = r(n(1695)), h = ["apng", "bmp", "gif", "jpeg", "jpg", "png", "svg", "tif", "tiff", "webp"]; t.Z = { components: { TkAvatar: l["default"], TkMetaInput: d["default"] }, directives: { Clickoutside: c["default"] }, props: { replyId: String, pid: String, config: Object }, data: function () { return { isSending: !1, isPreviewing: !1, isMetaValid: !1, errorMessage: "", owo: null, comment: "", commentHtml: "", nick: "", mail: "", link: "", turnstileLoad: null, iconMarkdown: a["default"], iconEmotion: s["default"], iconImage: u["default"] } }, computed: { canSend: function () { return !this.isSending && !!this.isMetaValid && !!this.comment.trim() }, textarea: function () { return this.$refs.textarea ? this.$refs.textarea.$refs.textarea : null }, commentPlaceholder: function () { var e = this.$twikoo.placeholder || this.config.COMMENT_PLACEHOLDER || ""; return e = e.replace(/ /g, "\n") }, maxLength: function () { var e = parseInt(this.config.LIMIT_LENGTH); return Number.isNaN(e) && (e = 500), e > 0 ? e : null } }, methods: { t: f.t, initDraft: function () { var e = localStorage.getItem("twikoo-draft"); !this.comment && e && (this.comment = e) }, saveDraft: function () { localStorage.setItem("twikoo-draft", this.comment) }, initOwo: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if ("true" !== e.config.SHOW_EMOTION) { t.next = 6; break } return t.next = 3, (0, f.initOwoEmotions)(e.config.EMOTION_CDN || "https://owo.imaegoo.com/owo.json"); case 3: n = t.sent, e.owo = new p["default"]({ logo: s["default"], container: e.$refs.owo, target: e.textarea, odata: n, position: "down", maxHeight: "250px" }), f.marked.setOptions({ odata: (0, f.initMarkedOwo)(n) }); case 6: case "end": return t.stop() } }), t) })))() }, initTurnstile: function () { var e = this; this.config.TURNSTILE_SITE_KEY && (window.turnstile ? this.turnstileLoad = Promise.resolve() : this.turnstileLoad = new Promise((function (t, n) { var r = document.createElement("script"); r.src = "https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit", r.onload = t, r.onerror = n, e.$refs["turnstile-container"].appendChild(r) }))) }, getTurnstileToken: function () { var e = this; return new Promise((function (t, n) { e.turnstileLoad.then((function () { var r = window.turnstile.render(e.$refs.turnstile, { sitekey: e.config.TURNSTILE_SITE_KEY, callback: function (e) { t(e), setTimeout((function () { window.turnstile.remove(r) }), 5e3) }, "error-callback": n }) })) })) }, onMetaUpdate: function (e) { this.nick = e.meta.nick, this.mail = e.meta.mail, this.link = e.meta.link, this.isMetaValid = e.valid }, cancel: function () { this.$emit("cancel") }, onCommentInput: function () { this.saveDraft(), this.updatePreview() }, preview: function () { this.isPreviewing = !this.isPreviewing, this.updatePreview() }, updatePreview: function () { var e = this; this.isPreviewing && (this.commentHtml = (0, f.marked)(this.comment), this.$nextTick((function () { (0, f.renderLinks)(e.$refs["comment-preview"]), (0, f.renderMath)(e.$refs["comment-preview"], e.$twikoo.katex), "true" === e.config.HIGHLIGHT && (0, f.renderCode)(e.$refs["comment-preview"], e.config.HIGHLIGHT_THEME) }))) }, send: function () { var e = this; return (0, o["default"])(i["default"].mark((function t() { var n, r; return i["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (e.isSending = !0, t.prev = 1, !e.comment.match(new RegExp("!\\[".concat((0, f.t)("IMAGE_UPLOAD_PLACEHOLDER"), ".+\\]\\(\\)")))) { t.next = 4; break } throw new Error((0, f.t)("IMAGE_UPLOAD_PLEASE_WAIT")); case 4: return t.t0 = e.nick, t.t1 = e.mail, t.t2 = e.link, t.next = 9, (0, f.getUserAgent)(); case 9: if (t.t3 = t.sent, t.t4 = (0, f.getUrl)(e.$twikoo.path), t.t5 = (0, f.getHref)(e.$twikoo.href), t.t6 = (0, f.marked)(e.comment), t.t7 = e.pid ? e.pid : e.replyId, t.t8 = e.replyId, n = { nick: t.t0, mail: t.t1, link: t.t2, ua: t.t3, url: t.t4, href: t.t5, comment: t.t6, pid: t.t7, rid: t.t8 }, !e.config.TURNSTILE_SITE_KEY) { t.next = 20; break } return t.next = 19, e.getTurnstileToken(); case 19: n.turnstileToken = t.sent; case 20: return t.next = 22, (0, f.call)(e.$tcb, "COMMENT_SUBMIT", n); case 22: if (!((r = t.sent) && r.result && r.result.id)) { t.next = 30; break } e.comment = "", e.errorMessage = "", e.$emit("load"), e.saveDraft(), t.next = 31; break; case 30: throw new Error(r.result.message); case 31: t.next = 37; break; case 33: t.prev = 33, t.t9 = t["catch"](1), f.logger.error("评论失败", t.t9), e.errorMessage = "".concat((0, f.t)("COMMENT_FAILED"), ": ").concat(t.t9 && t.t9.message); case 37: return t.prev = 37, e.isSending = !1, t.finish(37); case 40: case "end": return t.stop() } }), t, null, [[1, 33, 37, 40]]) })))() }, addEventListener: function () { this.textarea && this.textarea.addEventListener("paste", this.onPaste) }, onBgImgChange: function () { this.config.COMMENT_BG_IMG && this.textarea && (this.textarea.style["background-image"] = 'url("'.concat(this.config.COMMENT_BG_IMG, '")')) }, onEnterKeyUp: function (e) { (e.ctrlKey || e.metaKey) && this.canSend && (this.send(), e.preventDefault()) }, closeOwo: function () { this.owo && this.owo.container.classList.contains("OwO-open") && this.owo.toggle() }, openSelectImage: function () { this.$refs.inputFile.click() }, onSelectImage: function () { var e = this.$refs.inputFile.files[0]; this.parseAndUploadPhoto(e) }, onPaste: function (e) { var t; e.clipboardData && (e.clipboardData.files[0] ? t = e.clipboardData.files[0] : e.clipboardData.items[0] && e.clipboardData.items[0].getAsFile() && (t = e.clipboardData.items[0].getAsFile()), this.parseAndUploadPhoto(t)) }, parseAndUploadPhoto: function (e) { if (e && "true" === this.config.SHOW_IMAGE) { var t = e.name.split("."), n = t.length > 1 ? t.pop() : ""; if (-1 !== h.indexOf(n.toLowerCase())) { var r = this.getUserId(), i = "".concat(Date.now(), "-").concat(r), o = t.join("."); this.paste(this.getImagePlaceholder(i, n)); var a = this.config.IMAGE_CDN; !this.$tcb || a && "qcloud" !== a ? a ? this.uploadPhotoToThirdParty(i, o, n, e) : this.uploadFailed(i, n, (0, f.t)("IMAGE_UPLOAD_FAILED_NO_CONF")) : this.uploadPhotoToQcloud(i, o, n, e) } } }, getUserId: function () { return this.$tcb ? this.$tcb.auth.currentUser.uid : localStorage.getItem("twikoo-access-token") }, uploadPhotoToQcloud: function (e, t, n, r) { var a = this; return (0, o["default"])(i["default"].mark((function s() { var o, u, c; return i["default"].wrap((function (i) { for (; ;)switch (i.prev = i.next) { case 0: return i.prev = 0, i.next = 3, a.$tcb.app.uploadFile({ cloudPath: "tk-img/".concat(e, ".").concat(n), filePath: r }); case 3: if (!(o = i.sent).fileID) { i.next = 10; break } return i.next = 7, a.$tcb.app.getTempFileURL({ fileList: [o.fileID] }); case 7: u = i.sent, c = u.fileList[0].tempFileURL, a.uploadCompleted(e, t, n, c); case 10: i.next = 16; break; case 12: i.prev = 12, i.t0 = i["catch"](0), console.error(i.t0), a.uploadFailed(e, n, i.t0.message); case 16: case "end": return i.stop() } }), s, null, [[0, 12]]) })))() }, uploadPhotoToThirdParty: function (e, t, n, r) { var a = this; return (0, o["default"])(i["default"].mark((function s() { var o, u, c; return i["default"].wrap((function (i) { for (; ;)switch (i.prev = i.next) { case 0: return i.prev = 0, i.t0 = f.call, i.t1 = a.$tcb, i.t2 = "".concat(e, ".").concat(n), i.next = 6, (0, f.blobToDataURL)(r); case 6: return i.t3 = i.sent, i.t4 = { fileName: i.t2, photo: i.t3 }, i.next = 10, (0, i.t0)(i.t1, "UPLOAD_IMAGE", i.t4); case 10: u = i.sent, (c = u.result).data ? a.uploadCompleted(e, t, n, c.data.url) : 1040 === c.code && c.err && (o = c.err.match(/this image exists at: (http[^ ]+)/)) ? (console.warn(c), a.uploadCompleted(e, t, n, o[1])) : (console.error(c), a.uploadFailed(e, n, c.err)), i.next = 19; break; case 15: i.prev = 15, i.t5 = i["catch"](0), console.error(i.t5), a.uploadFailed(e, n, i.t5.message); case 19: case "end": return i.stop() } }), s, null, [[0, 15]]) })))() }, uploadCompleted: function (e, t, n, r) { t = t.replace(/[[\]]/g, "_"), this.comment = this.comment.replace(this.getImagePlaceholder(e, n), "![".concat(t, "](").concat(r, ")")), this.$refs.inputFile.value = "" }, uploadFailed: function (e, t, n) { this.comment = this.comment.replace(this.getImagePlaceholder(e, t), "_".concat((0, f.t)("IMAGE_UPLOAD_FAILED"), ": ").concat(n, "_")), this.$refs.inputFile.value = "" }, paste: function (e) { if (document.selection) document.selection.createRange().text = e; else if (this.textarea.selectionStart || 0 === this.textarea.selectionStart) { var t = this.textarea.selectionStart, n = this.textarea.selectionEnd; this.comment = this.comment.substring(0, t) + e + this.comment.substring(n, this.comment.length), this.textarea.selectionStart = t + e.length, this.textarea.selectionEnd = t + e.length } else this.comment += e }, getImagePlaceholder: function (e, t) { return "![".concat((0, f.t)("IMAGE_UPLOAD_PLACEHOLDER"), " ").concat(e, ".").concat(t, "]()") } }, mounted: function () { this.initDraft(), this.initOwo(), this.addEventListener(), this.onBgImgChange(), this.initTurnstile() }, watch: { "config.SHOW_EMOTION": function () { this.initOwo() }, "config.COMMENT_BG_IMG": function () { this.onBgImgChange() }, "config.TURNSTILE_SITE_KEY": function () { this.initTurnstile() } } } }, 4965: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "twikoo", attrs: { id: "twikoo" } }, [t("tk-comments", { attrs: { "show-admin-entry": e.showAdminEntry }, on: { admin: function (t) { e.showAdmin = !0 } } }), e._v(" "), t("tk-footer"), e._v(" "), t("tk-admin", { attrs: { show: e.showAdmin }, on: { close: function (t) { e.showAdmin = !1 } } })], 1) }, t.xk = [] }, 7534: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-action" }, [t("a", { staticClass: "tk-action-link", "class": { "tk-liked": e.liked }, attrs: { href: "#" }, on: { click: e.onLike } }, [t("span", { staticClass: "tk-action-icon", domProps: { innerHTML: e._s(e.iconLike) } }), e._v(" "), t("span", { staticClass: "tk-action-icon tk-action-icon-solid", domProps: { innerHTML: e._s(e.iconLikeSolid) } }), e._v(" "), t("span", { staticClass: "tk-action-count" }, [e._v(e._s(e.likeCountStr))])]), e._v(" "), t("a", { staticClass: "tk-action-link", attrs: { href: "#" }, on: { click: e.onReply } }, [t("span", { staticClass: "tk-action-icon", domProps: { innerHTML: e._s(e.iconComment) } }), e._v(" "), t("span", { staticClass: "tk-action-icon tk-action-icon-solid", domProps: { innerHTML: e._s(e.iconCommentSolid) } }), e._v(" "), t("span", { staticClass: "tk-action-count" }, [e._v(e._s(e.repliesCountStr))])])]) }, t.xk = [] }, 3530: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-admin-container" }, [t("div", { directives: [{ name: "loading", rawName: "v-loading", value: e.loading, expression: "loading" }], staticClass: "tk-admin", "class": { __show: e.show } }, [t("a", { staticClass: "tk-admin-close", attrs: { href: "#" }, domProps: { innerHTML: e._s(e.iconClose) }, on: { click: e.onClose } }), e._v(" "), e.needUpdate ? t("div", { staticClass: "tk-login-title" }, [t("div", [e._v(e._s(e.t("ADMIN_NEED_UPDATE")))]), e._v(" "), t("a", { attrs: { href: "https://twikoo.js.org/update.html", target: "_blank" } }, [e._v("https://twikoo.js.org/update.html")])]) : e._e(), e._v(" "), e.needUpdate ? e._e() : t("div", [!e.isLogin && e.isSetPassword ? t("div", { staticClass: "tk-login" }, [t("div", { staticClass: "tk-login-title" }, [e._v(e._s(e.t("ADMIN_LOGIN_TITLE")))]), e._v(" "), t("input", { attrs: { type: "hidden" } }), e._v(" "), t("el-input", { ref: "focusme", staticClass: "tk-password", attrs: { placeholder: e.t("ADMIN_PASSWORD_PLACEHOLDER"), "show-password": "" }, nativeOn: { keyup: function (t) { return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.onLogin.apply(null, arguments) } }, model: { value: e.password, callback: function (t) { e.password = t }, expression: "password" } }, [t("template", { slot: "prepend" }, [e._v(e._s(e.t("ADMIN_PASSWORD")))]), e._v(" "), t("el-button", { attrs: { slot: "append" }, on: { click: e.onLogin }, slot: "append" }, [e._v(e._s(e.t("ADMIN_LOGIN")))])], 2), e._v(" "), e.loginErrorMessage ? t("div", { staticClass: "tk-login-msg" }, [e._v("\n " + e._s(e.loginErrorMessage) + "\n "), t("a", { attrs: { href: "https://twikoo.js.org/faq.html", rel: "noopener noreferrer", target: "_blank" } }, [e._v(e._s(e.t("ADMIN_FORGOT")))])]) : e._e()], 1) : e._e(), e._v(" "), e.isLogin || e.isSetPassword ? e._e() : t("div", { staticClass: "tk-regist" }, [t("div", { staticClass: "tk-login-title" }, [e._v(e._s(e.t("ADMIN_LOGIN_TITLE")))]), e._v(" "), e.isSetCredentials ? e._e() : t("el-input", { ref: "focusme", staticClass: "tk-password", attrs: { placeholder: e.t("ADMIN_CREDENTIALS_PLACEHOLDER") }, model: { value: e.credentials, callback: function (t) { e.credentials = t }, expression: "credentials" } }, [t("template", { slot: "prepend" }, [e._v(e._s(e.t("ADMIN_CREDENTIALS")))])], 2), e._v(" "), t("el-input", { staticClass: "tk-password", attrs: { placeholder: e.t("ADMIN_SET_PASSWORD_PLACEHOLDER"), "show-password": "" }, model: { value: e.password, callback: function (t) { e.password = t }, expression: "password" } }, [t("template", { slot: "prepend" }, [e._v(e._s(e.t("ADMIN_SET_PASSWORD")))])], 2), e._v(" "), t("el-input", { staticClass: "tk-password", attrs: { placeholder: e.t("ADMIN_SET_PASSWORD_CONFIRM_PLACEHOLDER"), "show-password": "" }, model: { value: e.passwordConfirm, callback: function (t) { e.passwordConfirm = t }, expression: "passwordConfirm" } }, [t("template", { slot: "prepend" }, [e._v(e._s(e.t("ADMIN_SET_PASSWORD_CONFIRM")))])], 2), e._v(" "), t("el-button", { staticClass: "tk-regist-button", attrs: { disabled: !e.canRegist }, on: { click: e.onRegist } }, [e._v(e._s(e.t("ADMIN_REGIST")))]), e._v(" "), e.loginErrorMessage ? t("div", { staticClass: "tk-login-msg" }, [e._v(e._s(e.loginErrorMessage))]) : e._e(), e._v(" "), e.isSetCredentials ? e._e() : t("div", { staticClass: "tk-login-msg" }, [t("a", { attrs: { href: "https://twikoo.js.org/faq.html", rel: "noopener noreferrer", target: "_blank" } }, [e._v(e._s(e.t("ADMIN_CREDENTIALS_FAQ")))])])], 1), e._v(" "), e.isLogin ? t("div", { staticClass: "tk-panel" }, [t("div", { staticClass: "tk-panel-title" }, [t("div", [e._v(e._s(e.t("ADMIN_TITLE")))]), e._v(" "), t("a", { staticClass: "tk-panel-logout", attrs: { href: "#" }, on: { click: e.onLogout } }, [e._v(e._s(e.t("ADMIN_LOGOUT")))])]), e._v(" "), t("div", { staticClass: "tk-tabs" }, [t("div", { staticClass: "tk-tab", "class": { __active: "comment" === e.activeTabName }, on: { click: function (t) { e.activeTabName = "comment" } } }, [e._v(e._s(e.t("ADMIN_COMMENT")))]), e._v(" "), t("div", { staticClass: "tk-tab", "class": { __active: "config" === e.activeTabName }, on: { click: function (t) { e.activeTabName = "config" } } }, [e._v(e._s(e.t("ADMIN_CONFIG")))]), e._v(" "), t("div", { staticClass: "tk-tab", "class": { __active: "import" === e.activeTabName }, on: { click: function (t) { e.activeTabName = "import" } } }, [e._v(e._s(e.t("ADMIN_IMPORT")))]), e._v(" "), t("div", { staticClass: "tk-tab", "class": { __active: "export" === e.activeTabName }, on: { click: function (t) { e.activeTabName = "export" } } }, [e._v(e._s(e.t("ADMIN_EXPORT")))])]), e._v(" "), t("tk-admin-comment", { directives: [{ name: "show", rawName: "v-show", value: "comment" === e.activeTabName, expression: "activeTabName === 'comment'" }] }), e._v(" "), t("tk-admin-config", { directives: [{ name: "show", rawName: "v-show", value: "config" === e.activeTabName, expression: "activeTabName === 'config'" }] }), e._v(" "), t("tk-admin-import", { directives: [{ name: "show", rawName: "v-show", value: "import" === e.activeTabName, expression: "activeTabName === 'import'" }] }), e._v(" "), t("tk-admin-export", { directives: [{ name: "show", rawName: "v-show", value: "export" === e.activeTabName, expression: "activeTabName === 'export'" }] })], 1) : e._e()])])]) }, t.xk = [] }, 7229: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { directives: [{ name: "loading", rawName: "v-loading", value: e.loading, expression: "loading" }], staticClass: "tk-admin-comment" }, [e.clientVersion !== e.serverVersion ? t("div", { staticClass: "tk-admin-warn" }, [t("span", [e._v(e._s(e.t("ADMIN_CLIENT_VERSION")) + e._s(e.clientVersion) + ",")]), e._v(" "), t("span", [e._v(e._s(e.t("ADMIN_SERVER_VERSION")) + e._s(e.serverVersion) + ",")]), e._v(" "), e._m(0)]) : e._e(), e._v(" "), t("div", { staticClass: "tk-admin-comment-filter" }, [t("el-input", { staticClass: "tk-admin-comment-filter-keyword", attrs: { size: "small", placeholder: e.t("ADMIN_COMMENT_SEARCH_PLACEHOLDER") }, nativeOn: { keyup: function (t) { return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.getComments.apply(null, arguments) } }, model: { value: e.filter.keyword, callback: function (t) { e.$set(e.filter, "keyword", t) }, expression: "filter.keyword" } }), e._v(" "), t("select", { directives: [{ name: "model", rawName: "v-model", value: e.filter.type, expression: "filter.type" }], staticClass: "tk-admin-comment-filter-type", on: { change: function (t) { var n = Array.prototype.filter.call(t.target.options, (function (e) { return e.selected })).map((function (e) { return "_value" in e ? e._value : e.value })); e.$set(e.filter, "type", t.target.multiple ? n : n[0]) } } }, [t("option", { attrs: { value: "" } }, [e._v(e._s(e.t("ADMIN_COMMENT_FILTER_ALL")))]), e._v(" "), t("option", { attrs: { value: "VISIBLE" } }, [e._v(e._s(e.t("ADMIN_COMMENT_FILTER_VISIBLE")))]), e._v(" "), t("option", { attrs: { value: "HIDDEN" } }, [e._v(e._s(e.t("ADMIN_COMMENT_FILTER_HIDDEN")))])]), e._v(" "), t("el-button", { attrs: { size: "small", type: "primary" }, on: { click: e.getComments } }, [e._v(e._s(e.t("ADMIN_COMMENT_SEARCH")))])], 1), e._v(" "), t("div", { ref: "comment-list", staticClass: "tk-admin-comment-list" }, e._l(e.comments, (function (n) { return t("div", { key: n._id, staticClass: "tk-admin-comment-item" }, [t("div", { staticClass: "tk-admin-comment-meta" }, [t("tk-avatar", { attrs: { config: e.serverConfig, avatar: n.avatar, mail: n.mail, link: n.link } }), e._v(" "), n.link ? e._e() : t("span", [e._v(e._s(n.nick) + " ")]), e._v(" "), n.link ? t("a", { attrs: { href: e.convertLink(n.link), target: "_blank" } }, [e._v(e._s(n.nick) + " ")]) : e._e(), e._v(" "), n.mail ? t("span", [e._v("("), t("a", { attrs: { href: "mailto:".concat(n.mail) } }, [e._v(e._s(n.mail))]), e._v(") ")]) : e._e(), e._v(" "), n.isSpam ? t("span", [e._v(e._s(e.t("ADMIN_COMMENT_IS_SPAM_SUFFIX")) + " ")]) : e._e(), e._v(" "), t("span", { staticClass: "tk-time" }, [e._v(e._s(e.displayCreated(n)) + " ")]), e._v(" "), t("span", { attrs: { title: n.ua } }, [e._v(e._s(n.ipRegion))])], 1), e._v(" "), t("div", { ref: "comments", refInFor: !0, staticClass: "tk-content", domProps: { innerHTML: e._s(n.comment) } }), e._v(" "), t("div", { staticClass: "tk-admin-actions" }, [t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleView(n) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_VIEW")))]), e._v(" "), n.isSpam ? t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleSpam(n, !1) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_SHOW")))]) : e._e(), e._v(" "), n.isSpam ? e._e() : t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleSpam(n, !0) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_HIDE")))]), e._v(" "), !n.rid && n.top ? t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleTop(n, !1) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_UNTOP")))]) : e._e(), e._v(" "), n.rid || n.top ? e._e() : t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleTop(n, !0) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_TOP")))]), e._v(" "), t("el-button", { attrs: { size: "mini", type: "text" }, on: { click: function (t) { return e.handleDelete(n) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_DELETE")))])], 1)]) })), 0), e._v(" "), t("tk-pagination", { attrs: { "page-size": e.pageSize, total: e.count }, on: { "page-size-change": e.onPageSizeChange, "current-change": e.switchPage } })], 1) }, t.xk = [function () { var e = this, t = e._self._c; return t("span", [e._v("请参考 "), t("a", { attrs: { href: "https://twikoo.js.org/update.html", target: "_blank" } }, [e._v("版本更新")]), e._v(" 进行升级")]) }] }, 1205: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { directives: [{ name: "loading", rawName: "v-loading", value: e.loading, expression: "loading" }], staticClass: "tk-admin-config" }, [e.clientVersion !== e.serverVersion ? t("div", { staticClass: "tk-admin-warn" }, [t("span", [e._v(e._s(e.t("ADMIN_CLIENT_VERSION")) + e._s(e.clientVersion) + ",")]), e._v(" "), t("span", [e._v(e._s(e.t("ADMIN_SERVER_VERSION")) + e._s(e.serverVersion) + ",")]), e._v(" "), e._m(0)]) : e._e(), e._v(" "), t("div", { staticClass: "tk-admin-config-groups" }, [e._l(e.settings, (function (n) { return t("details", { key: n.name, staticClass: "tk-admin-config-group" }, [t("summary", { staticClass: "tk-admin-config-group-title" }, [e._v(e._s(n.name))]), e._v(" "), e._l(n.items, (function (n) { return t("div", { key: n.key, staticClass: "tk-admin-config-item" }, [t("div", { staticClass: "tk-admin-config-title", attrs: { title: n.key } }, [e._v(e._s(n.key))]), e._v(" "), t("div", { staticClass: "tk-admin-config-input" }, [t("el-input", { attrs: { placeholder: n.ph, size: "small", "show-password": n.secret }, model: { value: n.value, callback: function (t) { e.$set(n, "value", t) }, expression: "setting.value" } })], 1), e._v(" "), t("div"), e._v(" "), t("div", { staticClass: "tk-admin-config-desc" }, [e._v(e._s(n.desc))])]) }))], 2) })), e._v(" "), t("details", { staticClass: "tk-admin-config-group" }, [t("summary", { staticClass: "tk-admin-config-group-title" }, [e._v(e._s(e.t("ADMIN_CONFIG_EMAIL_TEST")))]), e._v(" "), t("div", { staticClass: "tk-admin-config-email-test" }, [t("div", { staticClass: "tk-admin-config-email-test-desc" }, [e._v(e._s(e.t("ADMIN_CONFIG_EMAIL_TEST_HELP")))]), e._v(" "), t("div", { staticClass: "tk-admin-config-input" }, [t("el-input", { attrs: { size: "small" }, model: { value: e.emailTestAddress, callback: function (t) { e.emailTestAddress = t }, expression: "emailTestAddress" } }, [t("el-button", { attrs: { slot: "append", type: "info" }, on: { click: e.testEmail }, slot: "append" }, [e._v(e._s(e.t("ADMIN_CONFIG_EMAIL_TEST_BTN")))])], 1)], 1), e._v(" "), t("div", { staticClass: "tk-admin-config-email-test-desc" }, [e._v(e._s(e.t("ADMIN_CONFIG_EMAIL_TEST_RESULT")) + e._s(e.emailTestResult))])])])], 2), e._v(" "), t("div", { staticClass: "tk-admin-config-actions" }, [t("el-button", { attrs: { size: "small", type: "primary" }, on: { click: e.saveConfig } }, [e._v(e._s(e.t("ADMIN_CONFIG_SAVE")))]), e._v(" "), t("el-button", { attrs: { size: "small", type: "info" }, on: { click: e.resetConfig } }, [e._v(e._s(e.t("ADMIN_CONFIG_RESET")))])], 1), e._v(" "), t("div", { staticClass: "tk-admin-config-message" }, [e._v(e._s(e.message))])]) }, t.xk = [function () { var e = this, t = e._self._c; return t("span", [e._v("请参考 "), t("a", { attrs: { href: "https://twikoo.js.org/update.html", target: "_blank" } }, [e._v("版本更新")]), e._v(" 进行升级")]) }] }, 9528: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-admin-export" }, [t("div", { staticClass: "tk-admin-warn tk-admin-import-warn" }, [t("p", [e._v(e._s(e.t("ADMIN_EXPORT_WARN")))])]), e._v(" "), t("el-button", { attrs: { size: "small", disabled: e.loading }, on: { click: function (t) { return e.doExport("comment") } } }, [e._v(e._s(e.t("ADMIN_EXPORT_COMMENT")))]), e._v(" "), t("el-button", { attrs: { size: "small", disabled: e.loading }, on: { click: function (t) { return e.doExport("counter") } } }, [e._v(e._s(e.t("ADMIN_EXPORT_COUNTER")))])], 1) }, t.xk = [] }, 5954: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-admin-import" }, [t("div", { staticClass: "tk-admin-warn tk-admin-import-warn" }, [t("p", [e._v(e._s(e.t("ADMIN_IMPORT_WARN")))]), e._v(" "), t("p", [e._v(e._s(e.warnText[e.source]))])]), e._v(" "), t("div", { staticClass: "tk-admin-import-label" }, [e._v(e._s(e.t("ADMIN_IMPORT_SELECT_SOURCE")))]), e._v(" "), t("select", { directives: [{ name: "model", rawName: "v-model", value: e.source, expression: "source" }], on: { change: function (t) { var n = Array.prototype.filter.call(t.target.options, (function (e) { return e.selected })).map((function (e) { return "_value" in e ? e._value : e.value })); e.source = t.target.multiple ? n : n[0] } } }, [t("option", { attrs: { disabled: "", value: "" } }, [e._v(e._s(e.t("ADMIN_IMPORT_SELECT")))]), e._v(" "), t("option", { attrs: { value: "valine" } }, [e._v("Valine (JSON)")]), e._v(" "), t("option", { attrs: { value: "disqus" } }, [e._v("Disqus (XML)")]), e._v(" "), t("option", { attrs: { value: "artalk" } }, [e._v("Artalk v1 (JSON)")]), e._v(" "), t("option", { attrs: { value: "artalk2" } }, [e._v("Artalk v2 (Artrans)")]), e._v(" "), t("option", { attrs: { value: "twikoo" } }, [e._v("Twikoo (JSON)")])]), e._v(" "), t("div", { staticClass: "tk-admin-import-label" }, [e._v(e._s(e.t("ADMIN_IMPORT_SELECT_FILE")))]), e._v(" "), t("input", { ref: "inputFile", attrs: { type: "file", value: "" } }), e._v(" "), t("el-button", { attrs: { size: "small", disabled: e.loading }, on: { click: e.uploadFile } }, [e._v(e._s(e.t("ADMIN_IMPORT_START")))]), e._v(" "), t("el-input", { ref: "logTextArea", attrs: { type: "textarea", rows: 10, placeholder: e.t("ADMIN_IMPORT_LOG"), readonly: "" }, model: { value: e.logText, callback: function (t) { e.logText = t }, expression: "logText" } })], 1) }, t.xk = [] }, 7870: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-avatar", "class": { "tk-clickable": !!e.link, "tk-has-avatar": !!e.avatarInner }, on: { click: e.onClick } }, [e.avatarInner ? e._e() : t("div", { staticClass: "tk-avatar-img", domProps: { innerHTML: e._s(e.iconUser) } }), e._v(" "), e.avatarInner ? t("img", { staticClass: "tk-avatar-img", attrs: { src: e.avatarInner, alt: "" } }) : e._e()]) }, t.xk = [] }, 6814: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { ref: "tk-comment", staticClass: "tk-comment", "class": { "tk-master": e.comment.master }, attrs: { id: e.comment.id } }, [t("tk-avatar", { attrs: { config: e.config, nick: e.comment.nick, avatar: e.comment.avatar, "mail-md5": e.comment.mailMd5, link: e.convertedLink } }), e._v(" "), t("div", { staticClass: "tk-main" }, [t("div", { staticClass: "tk-row" }, [t("div", { staticClass: "tk-meta" }, [e.convertedLink ? e._e() : t("strong", { staticClass: "tk-nick" }, [e._v(e._s(e.comment.nick))]), e._v(" "), e.convertedLink ? t("a", { staticClass: "tk-nick tk-nick-link", attrs: { href: e.convertedLink, target: "_blank", rel: "noopener noreferrer" } }, [t("strong", [e._v(e._s(e.comment.nick))])]) : e._e(), e._v(" "), e.comment.master ? t("span", { staticClass: "tk-tag tk-tag-green" }, [e._v(e._s(e.config.MASTER_TAG || e.t("COMMENT_MASTER_TAG")))]) : e._e(), e._v(" "), e.comment.top ? t("span", { staticClass: "tk-tag tk-tag-red" }, [e._v(e._s(e.t("COMMENT_TOP_TAG")))]) : e._e(), e._v(" "), e.comment.isSpam ? t("span", { staticClass: "tk-tag tk-tag-yellow" }, [e._v(e._s(e.t("COMMENT_REVIEWING_TAG")))]) : e._e(), e._v(" "), t("small", { staticClass: "tk-time" }, [t("time", { attrs: { datetime: e.jsonTimestamp, title: e.localeTime } }, [e._v(e._s(e.displayCreated))])]), e._v(" "), e.isLogin ? t("small", { staticClass: "tk-actions" }, [e.comment.isSpam ? t("a", { attrs: { href: "#" }, on: { click: function (t) { return e.handleSpam(!1, t) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_SHOW")))]) : e._e(), e._v(" "), e.comment.isSpam ? e._e() : t("a", { attrs: { href: "#" }, on: { click: function (t) { return e.handleSpam(!0, t) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_HIDE")))]), e._v(" "), !e.comment.rid && e.comment.top ? t("a", { attrs: { href: "#" }, on: { click: function (t) { return e.handleTop(!1, t) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_UNTOP")))]) : e._e(), e._v(" "), e.comment.rid || e.comment.top ? e._e() : t("a", { attrs: { href: "#" }, on: { click: function (t) { return e.handleTop(!0, t) } } }, [e._v(e._s(e.t("ADMIN_COMMENT_TOP")))])]) : e._e()]), e._v(" "), t("tk-action", { attrs: { liked: e.liked, "like-count": e.like, "replies-count": e.comment.replies.length }, on: { like: e.onLike, reply: e.onReply } })], 1), e._v(" "), t("div", { staticClass: "tk-content" }, [e.comment.pid ? t("span", [e._v(e._s(e.t("COMMENT_REPLIED")) + " "), t("a", { staticClass: "tk-ruser", attrs: { href: "#".concat(e.comment.pid) } }, [e._v("@" + e._s(e.comment.ruser))]), e._v(" :")]) : e._e(), e._v(" "), t("span", { ref: "comment", domProps: { innerHTML: e._s(e.comment.comment) } })]), e._v(" "), e.comment.ipRegion || e.comment.os || e.comment.browser ? t("div", { staticClass: "tk-extras" }, [e.comment.ipRegion ? t("div", { staticClass: "tk-extra" }, [t("span", { staticClass: "tk-icon __comment", domProps: { innerHTML: e._s(e.iconLocation) } }), e._v(" "), t("span", { staticClass: "tk-extra-text" }, [e._v(" " + e._s(e.comment.ipRegion))])]) : e._e(), e._v(" "), e.comment.os ? t("div", { staticClass: "tk-extra" }, [t("span", { staticClass: "tk-icon __comment", domProps: { innerHTML: e._s(e.iconOs) } }), e._v(" "), t("span", { staticClass: "tk-extra-text" }, [e._v(" " + e._s(e.comment.os))])]) : e._e(), e._v(" "), e.comment.browser ? t("div", { staticClass: "tk-extra" }, [t("span", { staticClass: "tk-icon __comment", domProps: { innerHTML: e._s(e.iconBrowser) } }), e._v(" "), t("span", { staticClass: "tk-extra-text" }, [e._v(" " + e._s(e.comment.browser))])]) : e._e()]) : e._e(), e._v(" "), t("div", { ref: "tk-replies", staticClass: "tk-replies", "class": { "tk-replies-expand": e.isExpanded || !e.showExpand } }, e._l(e.comment.replies, (function (n) { return t("tk-comment", { key: n.id, attrs: { comment: n, config: e.config }, on: { expand: e.onExpand, load: e.onLoad, reply: e.onReplyReply } }) })), 1), e._v(" "), e.replying ? t("tk-submit", { attrs: { "reply-id": e.comment.id, pid: e.pid, config: e.config }, on: { load: e.onLoad, cancel: e.onCancel } }) : e._e(), e._v(" "), e.showExpand ? t("div", { staticClass: "tk-expand", on: { click: e.onExpand } }, [e._v(e._s(e.t("COMMENT_EXPAND")))]) : e._e(), e._v(" "), e.showCollapse ? t("div", { staticClass: "tk-expand _collapse", on: { click: e.onCollapse } }, [e._v(e._s(e.t("COMMENT_COLLAPSE")))]) : e._e()], 1)], 1) }, t.xk = [] }, 1505: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-comments" }, [t("tk-submit", { attrs: { config: e.config }, on: { load: e.initComments } }), e._v(" "), t("div", { directives: [{ name: "loading", rawName: "v-loading", value: e.loading, expression: "loading" }], staticClass: "tk-comments-container" }, [t("div", { staticClass: "tk-comments-title" }, [t("span", { staticClass: "tk-comments-count", "class": { __hidden: !e.comments.length } }, [t("span", [e._v(e._s(e.count))]), e._v(" "), t("span", [e._v(e._s(e.t("COMMENTS_COUNT_SUFFIX")))])]), e._v(" "), t("span", [e.loading || e.loadingMore ? e._e() : t("span", { staticClass: "tk-icon __comments", domProps: { innerHTML: e._s(e.iconRefresh) }, on: { click: e.refresh } }), e.showAdminEntry ? t("span", { staticClass: "tk-icon __comments", domProps: { innerHTML: e._s(e.iconSetting) }, on: { click: e.openAdmin } }) : e._e()])]), e._v(" "), e.loading || e.comments.length ? e._e() : t("div", { staticClass: "tk-comments-no" }, [e.errorMessage ? e._e() : t("span", [e._v(e._s(e.t("COMMENTS_NO_COMMENTS")))]), e._v(" "), e.errorMessage ? t("span", { staticClass: "tk-comments-error" }, [e._v(e._s(e.errorMessage))]) : e._e()]), e._v(" "), e._l(e.comments, (function (n) { return t("tk-comment", { key: n.id, attrs: { comment: n, replying: e.replyId === n.id, config: e.config }, on: { reply: e.onReply, load: e.initComments } }) })), e._v(" "), e.showExpand && !e.loading ? t("div", { directives: [{ name: "loading", rawName: "v-loading", value: e.loadingMore, expression: "loadingMore" }], staticClass: "tk-expand", on: { click: e.onExpand } }, [e._v(e._s(e.t("COMMENTS_EXPAND")))]) : e._e()], 2)], 1) }, t.xk = [] }, 1613: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-footer" }, [e._v("\n Powered by "), t("a", { attrs: { href: "https://twikoo.js.org", target: "_blank" } }, [e._v("Twikoo")]), e._v("\n v" + e._s(e.version) + "\n")]) }, t.xk = [] }, 6252: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-meta-input" }, e._l(e.displayedInputs, (function (n) { return t("el-input", { key: n.key, attrs: { name: n.name, type: n.type, placeholder: e.requiredFields[n.key] ? e.t("META_INPUT_REQUIRED") : e.t("META_INPUT_NOT_REQUIRED"), size: "small" }, on: { change: e.onMetaChange }, model: { value: e.metaData[n.key], callback: function (t) { e.$set(e.metaData, n.key, t) }, expression: "metaData[metaInput.key]" } }, [t("template", { slot: "prepend" }, [e._v(e._s(n.locale))])], 2) })), 1) }, t.xk = [] }, 978: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-pagination" }, [e.pageCount ? t("div", { staticClass: "tk-pagination-options" }, [t("div", [t("span", [e._v(e._s(e.t("PAGINATION_COUNT_PREFIX")))]), e._v(" "), t("span", [e._v(e._s(e.total))]), e._v(" "), t("span", [e._v(e._s(e.t("PAGINATION_COUNT_SUFFIX")))])]), e._v(" "), t("el-input", { attrs: { type: "number", min: "1", max: "100", value: e.userPageSize ? e.userPageSize : e.pageSize }, on: { input: e.handleInputPageSize, change: e.pageSizeChamge } }), e._v(" "), t("span", [e._v(e._s(e.t("PAGINATION_PAGESIZE")))])], 1) : e._e(), e._v(" "), t("div", { staticClass: "tk-pagination-pagers" }, e._l(e.pagers, (function (n) { return t("div", { key: n.page, staticClass: "tk-pagination-pager", "class": { __current: n.page === e.currentPage }, on: { click: function (t) { return e.currentChange(n.page) } } }, [e._v(e._s(n.title))]) })), 0), e._v(" "), e.pageCount ? t("div", { staticClass: "tk-pagination-options" }, [t("span", [e._v(e._s(e.t("PAGINATION_GOTO_PREFIX")))]), e._v(" "), t("el-input", { attrs: { type: "number", min: "1", max: e.pageCount, value: e.userInput ? e.userInput : e.currentPage }, on: { input: e.handleInput, change: e.currentChange } }), e._v(" "), t("span", [e._v(e._s(e.t("PAGINATION_GOTO_SUFFIX")))])], 1) : e._e()]) }, t.xk = [] }, 5416: function (e, t) { "use strict"; t.xk = t.sY = void 0, t.sY = function () { var e = this, t = e._self._c; return t("div", { staticClass: "tk-submit" }, [t("div", { staticClass: "tk-row" }, [t("tk-avatar", { attrs: { config: e.config, mail: e.mail } }), e._v(" "), t("div", { staticClass: "tk-col" }, [t("tk-meta-input", { attrs: { nick: e.nick, mail: e.mail, link: e.link, config: e.config }, on: { update: e.onMetaUpdate } }), e._v(" "), t("el-input", { ref: "textarea", staticClass: "tk-input", attrs: { type: "textarea", "show-word-limit": "", placeholder: e.commentPlaceholder, autosize: { minRows: 3 }, maxlength: e.maxLength }, on: { input: e.onCommentInput }, nativeOn: { keyup: function (t) { return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.onEnterKeyUp(t) } }, model: { value: e.comment, callback: function (t) { e.comment = t }, expression: "comment" } })], 1)], 1), e._v(" "), t("div", { staticClass: "tk-row actions" }, [t("div", { staticClass: "tk-row-actions-start" }, [t("div", { directives: [{ name: "show", rawName: "v-show", value: "true" === e.config.SHOW_EMOTION, expression: "config.SHOW_EMOTION === 'true'" }, { name: "clickoutside", rawName: "v-clickoutside", value: e.closeOwo, expression: "closeOwo" }], ref: "owo", staticClass: "tk-submit-action-icon OwO", domProps: { innerHTML: e._s(e.iconEmotion) } }), e._v(" "), t("div", { directives: [{ name: "show", rawName: "v-show", value: "true" === e.config.SHOW_IMAGE, expression: "config.SHOW_IMAGE === 'true'" }], staticClass: "tk-submit-action-icon", domProps: { innerHTML: e._s(e.iconImage) }, on: { click: e.openSelectImage } }), e._v(" "), t("input", { ref: "inputFile", staticClass: "tk-input-image", attrs: { type: "file", accept: "image/*", value: "" }, on: { change: e.onSelectImage } }), e._v(" "), t("div", { staticClass: "tk-error-message" }, [e._v(e._s(e.errorMessage))])]), e._v(" "), t("a", { staticClass: "tk-submit-action-icon __markdown", attrs: { alt: "Markdown is supported", href: "https://guides.github.com/features/mastering-markdown/", target: "_blank", rel: "noopener noreferrer" }, domProps: { innerHTML: e._s(e.iconMarkdown) } }), e._v(" "), e.replyId ? t("el-button", { staticClass: "tk-cancel", attrs: { size: "small" }, on: { click: e.cancel } }, [e._v(e._s(e.t("SUBMIT_CANCEL")))]) : e._e(), e._v(" "), t("el-button", { staticClass: "tk-preview", attrs: { size: "small" }, on: { click: e.preview } }, [e._v(e._s(e.t("SUBMIT_PREVIEW")))]), e._v(" "), t("el-button", { staticClass: "tk-send", attrs: { type: "primary", size: "small", disabled: !e.canSend }, on: { click: e.send } }, [e._v(e._s(e.isSending ? e.t("SUBMIT_SENDING") : e.t("SUBMIT_SEND")))]), e._v(" "), t("div", { ref: "turnstile-container", staticClass: "tk-turnstile-container" }, [t("div", { ref: "turnstile", staticClass: "tk-turnstile" })])], 1), e._v(" "), e.isPreviewing ? t("div", { ref: "comment-preview", staticClass: "tk-preview-container", domProps: { innerHTML: e._s(e.commentHtml) } }) : e._e()]) }, t.xk = [] }, 8666: function (e, t) { "use strict"; t.Z = function (e, t) { for (var n = [], r = {}, i = 0; i < t.length; i++) { var o = t[i], a = o[0], s = { id: e + ":" + i, css: o[1], media: o[2], sourceMap: o[3] }; r[a] ? r[a].parts.push(s) : n.push(r[a] = { id: a, parts: [s] }) } return n } }, 1848: function (e, t, n) { "use strict"; e.exports = n(8265) }, 8265: function (e, t, n) { "use strict"; var r = n(3330), i = r(n(5272)), o = r(n(8946)), a = r(n(9767)), s = Object.freeze({}), u = Array.isArray; function c(e) { return null == e } function l(e) { return null != e } function d(e) { return !0 === e } function f(e) { return "string" == typeof e || "number" == typeof e || "symbol" == (0, a["default"])(e) || "boolean" == typeof e } function p(e) { return "function" == typeof e } function h(e) { return null !== e && "object" == (0, a["default"])(e) } var g = Object.prototype.toString; function m(e) { return "[object Object]" === g.call(e) } function v(e) { var t = parseFloat(String(e)); return t >= 0 && Math.floor(t) === t && isFinite(e) } function _(e) { return l(e) && "function" == typeof e.then && "function" == typeof e["catch"] } function y(e) { return null == e ? "" : Array.isArray(e) || m(e) && e.toString === g ? JSON.stringify(e, b, 2) : String(e) } function b(e, t) { return t && t.__v_isRef ? t.value : t } function k(e) { var t = parseFloat(e); return isNaN(t) ? e : t } function w(e, t) { for (var n = Object.create(null), r = e.split(","), i = 0; i < r.length; i++)n[r[i]] = !0; return t ? function (e) { return n[e.toLowerCase()] } : function (e) { return n[e] } } var E = w("key,ref,slot,slot-scope,is"); function x(e, t) { var n = e.length; if (n) { if (t === e[n - 1]) return void (e.length = n - 1); var r = e.indexOf(t); if (r > -1) return e.splice(r, 1) } } var A = Object.prototype.hasOwnProperty; function C(e, t) { return A.call(e, t) } function I(e) { var t = Object.create(null); return function (n) { return t[n] || (t[n] = e(n)) } } var D = /-(\w)/g, O = I((function (e) { return e.replace(D, (function (e, t) { return t ? t.toUpperCase() : "" })) })), S = I((function (e) { return e.charAt(0).toUpperCase() + e.slice(1) })), T = /\B([A-Z])/g, M = I((function (e) { return e.replace(T, "-$1").toLowerCase() })), N = Function.prototype.bind ? function (e, t) { return e.bind(t) } : function (e, t) { function n(n) { var r = arguments.length; return r ? r > 1 ? e.apply(t, arguments) : e.call(t, n) : e.call(t) } return n._length = e.length, n }; function P(e, t) { t = t || 0; for (var n = e.length - t, r = new Array(n); n--;)r[n] = e[n + t]; return r } function F(e, t) { for (var n in t) e[n] = t[n]; return e } function L(e) { for (var t = {}, n = 0; n < e.length; n++)e[n] && F(t, e[n]); return t } function R(e, t, n) { } var j = function (e, t, n) { return !1 }, $ = function (e) { return e }; function U(e, t) { if (e === t) return !0; var n = h(e), r = h(t); if (!n || !r) return !n && !r && String(e) === String(t); try { var i = Array.isArray(e), o = Array.isArray(t); if (i && o) return e.length === t.length && e.every((function (e, n) { return U(e, t[n]) })); if (e instanceof Date && t instanceof Date) return e.getTime() === t.getTime(); if (i || o) return !1; var a = Object.keys(e), s = Object.keys(t); return a.length === s.length && a.every((function (n) { return U(e[n], t[n]) })) } catch (e) { return !1 } } function B(e, t) { for (var n = 0; n < e.length; n++)if (U(e[n], t)) return n; return -1 } function G(e) { var t = !1; return function () { t || (t = !0, e.apply(this, arguments)) } } function z(e, t) { return e === t ? 0 === e && 1 / e != 1 / t : e == e || t == t } var H = "data-server-rendered", q = ["component", "directive", "filter"], V = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch", "renderTracked", "renderTriggered"], W = { optionMergeStrategies: Object.create(null), silent: !1, productionTip: !1, devtools: !1, performance: !1, errorHandler: null, warnHandler: null, ignoredElements: [], keyCodes: Object.create(null), isReservedTag: j, isReservedAttr: j, isUnknownElement: j, getTagNamespace: R, parsePlatformTagName: $, mustUseProp: j, async: !0, _lifecycleHooks: V }; function K(e) { var t = (e + "").charCodeAt(0); return 36 === t || 95 === t } function Z(e, t, n, r) { Object.defineProperty(e, t, { value: n, enumerable: !!r, writable: !0, configurable: !0 }) } var Y = new RegExp("[^".concat(/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/.source, ".$_\\d]")), X = "__proto__" in {}, J = "undefined" != typeof window, Q = J && window.navigator.userAgent.toLowerCase(), ee = Q && /msie|trident/.test(Q), te = Q && Q.indexOf("msie 9.0") > 0, ne = Q && Q.indexOf("edge/") > 0; Q && Q.indexOf("android"); var re = Q && /iphone|ipad|ipod|ios/.test(Q); Q && /chrome\/\d+/.test(Q), Q && /phantomjs/.test(Q); var ie, oe = Q && Q.match(/firefox\/(\d+)/), ae = {}.watch, se = !1; if (J) try { var ue = {}; Object.defineProperty(ue, "passive", { get: function () { se = !0 } }), window.addEventListener("test-passive", null, ue) } catch (s) { } var ce = function () { return void 0 === ie && (ie = !J && "undefined" != typeof n.g && n.g.process && "server" === n.g.process.env.VUE_ENV), ie }, le = J && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; function de(e) { return "function" == typeof e && /native code/.test(e.toString()) } var fe, pe = "undefined" != typeof Symbol && de(Symbol) && "undefined" != typeof Reflect && de(Reflect.ownKeys); fe = "undefined" != typeof Set && de(Set) ? Set : function () { function e() { (0, i["default"])(this, e), this.set = Object.create(null) } return (0, o["default"])(e, [{ key: "has", value: function (e) { return !0 === this.set[e] } }, { key: "add", value: function (e) { this.set[e] = !0 } }, { key: "clear", value: function () { this.set = Object.create(null) } }]), e }(); var he = null; function ge() { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; e || he && he._scope.off(), he = e, e && e._scope.on() } var me = function () { function e(t, n, r, o, a, s, u, c) { (0, i["default"])(this, e), this.tag = t, this.data = n, this.children = r, this.text = o, this.elm = a, this.ns = void 0, this.context = s, this.fnContext = void 0, this.fnOptions = void 0, this.fnScopeId = void 0, this.key = n && n.key, this.componentOptions = u, this.componentInstance = void 0, this.parent = void 0, this.raw = !1, this.isStatic = !1, this.isRootInsert = !0, this.isComment = !1, this.isCloned = !1, this.isOnce = !1, this.asyncFactory = c, this.asyncMeta = void 0, this.isAsyncPlaceholder = !1 } return (0, o["default"])(e, [{ key: "child", get: function () { return this.componentInstance } }]), e }(), ve = function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "", t = new me; return t.text = e, t.isComment = !0, t }; function _e(e) { return new me(void 0, void 0, void 0, String(e)) } function ye(e) { var t = new me(e.tag, e.data, e.children && e.children.slice(), e.text, e.elm, e.context, e.componentOptions, e.asyncFactory); return t.ns = e.ns, t.isStatic = e.isStatic, t.key = e.key, t.isComment = e.isComment, t.fnContext = e.fnContext, t.fnOptions = e.fnOptions, t.fnScopeId = e.fnScopeId, t.asyncMeta = e.asyncMeta, t.isCloned = !0, t } var be = 0, ke = [], we = function () { for (var e = 0; e < ke.length; e++) { var t = ke[e]; t.subs = t.subs.filter((function (e) { return e })), t._pending = !1 } ke.length = 0 }, Ee = function () { function e() { (0, i["default"])(this, e), this._pending = !1, this.id = be++, this.subs = [] } return (0, o["default"])(e, [{ key: "addSub", value: function (e) { this.subs.push(e) } }, { key: "removeSub", value: function (e) { this.subs[this.subs.indexOf(e)] = null, this._pending || (this._pending = !0, ke.push(this)) } }, { key: "depend", value: function (t) { e.target && e.target.addDep(this) } }, { key: "notify", value: function (e) { for (var t = this.subs.filter((function (e) { return e })), n = 0, r = t.length; n < r; n++)t[n].update() } }]), e }(); Ee.target = null; var xe = []; function Ae(e) { xe.push(e), Ee.target = e } function Ce() { xe.pop(), Ee.target = xe[xe.length - 1] } var Ie = Array.prototype, De = Object.create(Ie);["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach((function (e) { var t = Ie[e]; Z(De, e, (function () { for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++)r[i] = arguments[i]; var o, a = t.apply(this, r), s = this.__ob__; switch (e) { case "push": case "unshift": o = r; break; case "splice": o = r.slice(2) }return o && s.observeArray(o), s.dep.notify(), a })) })); var Oe = Object.getOwnPropertyNames(De), Se = {}, Te = !0; function Me(e) { Te = e } var Ne = { notify: R, depend: R, addSub: R, removeSub: R }, Pe = function () { function e(t) { var n = arguments.length > 1 && arguments[1] !== undefined && arguments[1], r = arguments.length > 2 && arguments[2] !== undefined && arguments[2]; if ((0, i["default"])(this, e), this.value = t, this.shallow = n, this.mock = r, this.dep = r ? Ne : new Ee, this.vmCount = 0, Z(t, "__ob__", this), u(t)) { if (!r) if (X) t.__proto__ = De; else for (var o = 0, a = Oe.length; o < a; o++) { var s = Oe[o]; Z(t, s, De[s]) } n || this.observeArray(t) } else for (var c = Object.keys(t), l = 0; l < c.length; l++)Le(t, c[l], Se, void 0, n, r) } return (0, o["default"])(e, [{ key: "observeArray", value: function (e) { for (var t = 0, n = e.length; t < n; t++)Fe(e[t], !1, this.mock) } }]), e }(); function Fe(e, t, n) { return e && C(e, "__ob__") && e.__ob__ instanceof Pe ? e.__ob__ : !Te || !n && ce() || !u(e) && !m(e) || !Object.isExtensible(e) || e.__v_skip || Ve(e) || e instanceof me ? void 0 : new Pe(e, t, n) } function Le(e, t, n, r, i, o) { arguments.length > 6 && undefined; var a = new Ee, s = Object.getOwnPropertyDescriptor(e, t); if (!s || !1 !== s.configurable) { var c = s && s.get, l = s && s.set; c && !l || n !== Se && 2 !== arguments.length || (n = e[t]); var d = i ? n && n.__ob__ : Fe(n, !1, o); return Object.defineProperty(e, t, { enumerable: !0, configurable: !0, get: function () { var t = c ? c.call(e) : n; return Ee.target && (a.depend(), d && (d.dep.depend(), u(t) && $e(t))), Ve(t) && !i ? t.value : t }, set: function (t) { var r = c ? c.call(e) : n; if (z(r, t)) { if (l) l.call(e, t); else { if (c) return; if (!i && Ve(r) && !Ve(t)) return void (r.value = t); n = t } d = i ? t && t.__ob__ : Fe(t, !1, o), a.notify() } } }), a } } function Re(e, t, n) { if (!He(e)) { var r = e.__ob__; return u(e) && v(t) ? (e.length = Math.max(e.length, t), e.splice(t, 1, n), r && !r.shallow && r.mock && Fe(n, !1, !0), n) : t in e && !(t in Object.prototype) ? (e[t] = n, n) : e._isVue || r && r.vmCount ? n : r ? (Le(r.value, t, n, void 0, r.shallow, r.mock), r.dep.notify(), n) : (e[t] = n, n) } } function je(e, t) { if (u(e) && v(t)) e.splice(t, 1); else { var n = e.__ob__; e._isVue || n && n.vmCount || He(e) || C(e, t) && (delete e[t], n && n.dep.notify()) } } function $e(e) { for (var t, n = 0, r = e.length; n < r; n++)(t = e[n]) && t.__ob__ && t.__ob__.dep.depend(), u(t) && $e(t) } function Ue(e) { return Be(e, !0), Z(e, "__v_isShallow", !0), e } function Be(e, t) { He(e) || Fe(e, t, ce()) } function Ge(e) { return He(e) ? Ge(e.__v_raw) : !(!e || !e.__ob__) } function ze(e) { return !(!e || !e.__v_isShallow) } function He(e) { return !(!e || !e.__v_isReadonly) } var qe = "__v_isRef"; function Ve(e) { return !(!e || !0 !== e.__v_isRef) } function We(e, t) { if (Ve(e)) return e; var n = {}; return Z(n, qe, !0), Z(n, "__v_isShallow", t), Z(n, "dep", Le(n, "value", e, null, t, ce())), n } function Ke(e, t, n) { Object.defineProperty(e, n, { enumerable: !0, configurable: !0, get: function () { var e = t[n]; if (Ve(e)) return e.value; var r = e && e.__ob__; return r && r.dep.depend(), e }, set: function (e) { var r = t[n]; Ve(r) && !Ve(e) ? r.value = e : t[n] = e } }) } function Ze(e, t, n) { var r = e[t]; if (Ve(r)) return r; var i = { get value() { var r = e[t]; return void 0 === r ? n : r }, set value(n) { e[t] = n } }; return Z(i, qe, !0), i } var Ye = "__v_rawToReadonly", Xe = "__v_rawToShallowReadonly"; function Je(e) { return Qe(e, !1) } function Qe(e, t) { if (!m(e)) return e; if (He(e)) return e; var n = t ? Xe : Ye, r = e[n]; if (r) return r; var i = Object.create(Object.getPrototypeOf(e)); Z(e, n, i), Z(i, "__v_isReadonly", !0), Z(i, "__v_raw", e), Ve(e) && Z(i, qe, !0), (t || ze(e)) && Z(i, "__v_isShallow", !0); for (var o = Object.keys(e), a = 0; a < o.length; a++)et(i, e, o[a], t); return i } function et(e, t, n, r) { Object.defineProperty(e, n, { enumerable: !0, configurable: !0, get: function () { var e = t[n]; return r || !m(e) ? e : Je(e) }, set: function () { } }) } var tt = "watcher", nt = "".concat(tt, " callback"), rt = "".concat(tt, " getter"), it = "".concat(tt, " cleanup"); function ot(e, t) { return ut(e, null, { flush: "post" }) } var at, st = {}; function ut(e, t) { var n, r, i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : s, o = i.immediate, a = i.deep, c = i.flush, l = void 0 === c ? "pre" : c, d = (i.onTrack, i.onTrigger, he), f = function (e, t) { var n = en(e, null, arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null, d, t); return a && n && n.__ob__ && n.__ob__.dep.depend(), n }, h = !1, g = !1; if (Ve(e) ? (n = function () { return e.value }, h = ze(e)) : Ge(e) ? (n = function () { return e.__ob__.dep.depend(), e }, a = !0) : u(e) ? (g = !0, h = e.some((function (e) { return Ge(e) || ze(e) })), n = function () { return e.map((function (e) { return Ve(e) ? e.value : Ge(e) ? (e.__ob__.dep.depend(), Sn(e)) : p(e) ? f(e, rt) : void 0 })) }) : n = p(e) ? t ? function () { return f(e, rt) } : function () { if (!d || !d._isDestroyed) return r && r(), f(e, tt, [v]) } : R, t && a) { var m = n; n = function () { return Sn(m()) } } var v = function (e) { r = _.onStop = function () { f(e, it) } }; if (ce()) return v = R, t ? o && f(t, nt, [n(), g ? [] : void 0, v]) : n(), R; var _ = new Pn(he, n, R, { lazy: !0 }); _.noRecurse = !t; var y = g ? [] : st; return _.run = function () { if (_.active) if (t) { var e = _.get(); (a || h || (g ? e.some((function (e, t) { return z(e, y[t]) })) : z(e, y))) && (r && r(), f(t, nt, [e, y === st ? void 0 : y, v]), y = e) } else _.get() }, "sync" === l ? _.update = _.run : "post" === l ? (_.post = !0, _.update = function () { return nr(_) }) : _.update = function () { if (d && d === he && !d._isMounted) { var e = d._preWatchers || (d._preWatchers = []); e.indexOf(_) < 0 && e.push(_) } else nr(_) }, t ? o ? _.run() : y = _.get() : "post" === l && d ? d.$once("hook:mounted", (function () { return _.get() })) : _.get(), function () { _.teardown() } } var ct = function () { function e() { var t = arguments.length > 0 && arguments[0] !== undefined && arguments[0]; (0, i["default"])(this, e), this.detached = t, this.active = !0, this.effects = [], this.cleanups = [], this.parent = at, !t && at && (this.index = (at.scopes || (at.scopes = [])).push(this) - 1) } return (0, o["default"])(e, [{ key: "run", value: function (e) { if (this.active) { var t = at; try { return at = this, e() } finally { at = t } } } }, { key: "on", value: function () { at = this } }, { key: "off", value: function () { at = this.parent } }, { key: "stop", value: function (e) { if (this.active) { var t, n; for (t = 0, n = this.effects.length; t < n; t++)this.effects[t].teardown(); for (t = 0, n = this.cleanups.length; t < n; t++)this.cleanups[t](); if (this.scopes) for (t = 0, n = this.scopes.length; t < n; t++)this.scopes[t].stop(!0); if (!this.detached && this.parent && !e) { var r = this.parent.scopes.pop(); r && r !== this && (this.parent.scopes[this.index] = r, r.index = this.index) } this.parent = void 0, this.active = !1 } } }]), e }(); function lt() { return at } function dt(e) { var t = e._provided, n = e.$parent && e.$parent._provided; return n === t ? e._provided = Object.create(n) : t } var ft = I((function (e) { var t = "&" === e.charAt(0), n = "~" === (e = t ? e.slice(1) : e).charAt(0), r = "!" === (e = n ? e.slice(1) : e).charAt(0); return { name: e = r ? e.slice(1) : e, once: n, capture: r, passive: t } })); function pt(e, t) { function n() { var e = n.fns; if (!u(e)) return en(e, null, arguments, t, "v-on handler"); for (var r = e.slice(), i = 0; i < r.length; i++)en(r[i], null, arguments, t, "v-on handler") } return n.fns = e, n } function ht(e, t, n, r, i, o) { var a, s, u, l; for (a in e) s = e[a], u = t[a], l = ft(a), c(s) || (c(u) ? (c(s.fns) && (s = e[a] = pt(s, o)), d(l.once) && (s = e[a] = i(l.name, s, l.capture)), n(l.name, s, l.capture, l.passive, l.params)) : s !== u && (u.fns = s, e[a] = u)); for (a in t) c(e[a]) && r((l = ft(a)).name, t[a], l.capture) } function gt(e, t, n) { var r; e instanceof me && (e = e.data.hook || (e.data.hook = {})); var i = e[t]; function o() { n.apply(this, arguments), x(r.fns, o) } c(i) ? r = pt([o]) : l(i.fns) && d(i.merged) ? (r = i).fns.push(o) : r = pt([i, o]), r.merged = !0, e[t] = r } function mt(e, t, n, r, i) { if (l(t)) { if (C(t, n)) return e[n] = t[n], i || delete t[n], !0; if (C(t, r)) return e[n] = t[r], i || delete t[r], !0 } return !1 } function vt(e) { return f(e) ? [_e(e)] : u(e) ? yt(e) : void 0 } function _t(e) { return l(e) && l(e.text) && !1 === e.isComment } function yt(e, t) { var n, r, i, o, a = []; for (n = 0; n < e.length; n++)c(r = e[n]) || "boolean" == typeof r || (o = a[i = a.length - 1], u(r) ? r.length > 0 && (_t((r = yt(r, "".concat(t || "", "_").concat(n)))[0]) && _t(o) && (a[i] = _e(o.text + r[0].text), r.shift()), a.push.apply(a, r)) : f(r) ? _t(o) ? a[i] = _e(o.text + r) : "" !== r && a.push(_e(r)) : _t(r) && _t(o) ? a[i] = _e(o.text + r.text) : (d(e._isVList) && l(r.tag) && c(r.key) && l(t) && (r.key = "__vlist".concat(t, "_").concat(n, "__")), a.push(r))); return a } function bt(e, t) { var n, r, i, o, a = null; if (u(e) || "string" == typeof e) for (a = new Array(e.length), n = 0, r = e.length; n < r; n++)a[n] = t(e[n], n); else if ("number" == typeof e) for (a = new Array(e), n = 0; n < e; n++)a[n] = t(n + 1, n); else if (h(e)) if (pe && e[Symbol.iterator]) { a = []; for (var s = e[Symbol.iterator](), c = s.next(); !c.done;)a.push(t(c.value, a.length)), c = s.next() } else for (i = Object.keys(e), a = new Array(i.length), n = 0, r = i.length; n < r; n++)o = i[n], a[n] = t(e[o], o, n); return l(a) || (a = []), a._isVList = !0, a } function kt(e, t, n, r) { var i, o = this.$scopedSlots[e]; o ? (n = n || {}, r && (n = F(F({}, r), n)), i = o(n) || (p(t) ? t() : t)) : i = this.$slots[e] || (p(t) ? t() : t); var a = n && n.slot; return a ? this.$createElement("template", { slot: a }, i) : i } function wt(e) { return br(this.$options, "filters", e) || $ } function Et(e, t) { return u(e) ? -1 === e.indexOf(t) : e !== t } function xt(e, t, n, r, i) { var o = W.keyCodes[t] || n; return i && r && !W.keyCodes[t] ? Et(i, r) : o ? Et(o, e) : r ? M(r) !== t : void 0 === e } function At(e, t, n, r, i) { if (n && h(n)) { var o; u(n) && (n = L(n)); var a = function (a) { if ("class" === a || "style" === a || E(a)) o = e; else { var s = e.attrs && e.attrs.type; o = r || W.mustUseProp(t, s, a) ? e.domProps || (e.domProps = {}) : e.attrs || (e.attrs = {}) } var u = O(a), c = M(a); u in o || c in o || (o[a] = n[a], !i) || ((e.on || (e.on = {}))["update:".concat(a)] = function (e) { n[a] = e }) }; for (var s in n) a(s) } return e } function Ct(e, t) { var n = this._staticTrees || (this._staticTrees = []), r = n[e]; return r && !t || Dt(r = n[e] = this.$options.staticRenderFns[e].call(this._renderProxy, this._c, this), "__static__".concat(e), !1), r } function It(e, t, n) { return Dt(e, "__once__".concat(t).concat(n ? "_".concat(n) : ""), !0), e } function Dt(e, t, n) { if (u(e)) for (var r = 0; r < e.length; r++)e[r] && "string" != typeof e[r] && Ot(e[r], "".concat(t, "_").concat(r), n); else Ot(e, t, n) } function Ot(e, t, n) { e.isStatic = !0, e.key = t, e.isOnce = n } function St(e, t) { if (t && m(t)) { var n = e.on = e.on ? F({}, e.on) : {}; for (var r in t) { var i = n[r], o = t[r]; n[r] = i ? [].concat(i, o) : o } } return e } function Tt(e, t, n, r) { t = t || { $stable: !n }; for (var i = 0; i < e.length; i++) { var o = e[i]; u(o) ? Tt(o, t, n) : o && (o.proxy && (o.fn.proxy = !0), t[o.key] = o.fn) } return r && (t.$key = r), t } function Mt(e, t) { for (var n = 0; n < t.length; n += 2) { var r = t[n]; "string" == typeof r && r && (e[t[n]] = t[n + 1]) } return e } function Nt(e, t) { return "string" == typeof e ? t + e : e } function Pt(e) { e._o = It, e._n = k, e._s = y, e._l = bt, e._t = kt, e._q = U, e._i = B, e._m = Ct, e._f = wt, e._k = xt, e._b = At, e._v = _e, e._e = ve, e._u = Tt, e._g = St, e._d = Mt, e._p = Nt } function Ft(e, t) { if (!e || !e.length) return {}; for (var n = {}, r = 0, i = e.length; r < i; r++) { var o = e[r], a = o.data; if (a && a.attrs && a.attrs.slot && delete a.attrs.slot, o.context !== t && o.fnContext !== t || !a || null == a.slot) (n["default"] || (n["default"] = [])).push(o); else { var s = a.slot, u = n[s] || (n[s] = []); "template" === o.tag ? u.push.apply(u, o.children || []) : u.push(o) } } for (var c in n) n[c].every(Lt) && delete n[c]; return n } function Lt(e) { return e.isComment && !e.asyncFactory || " " === e.text } function Rt(e) { return e.isComment && e.asyncFactory } function jt(e, t, n, r) { var i, o = Object.keys(n).length > 0, a = t ? !!t.$stable : !o, u = t && t.$key; if (t) { if (t._normalized) return t._normalized; if (a && r && r !== s && u === r.$key && !o && !r.$hasNormal) return r; for (var c in i = {}, t) t[c] && "$" !== c[0] && (i[c] = $t(e, n, c, t[c])) } else i = {}; for (var l in n) l in i || (i[l] = Ut(n, l)); return t && Object.isExtensible(t) && (t._normalized = i), Z(i, "$stable", a), Z(i, "$key", u), Z(i, "$hasNormal", o), i } function $t(e, t, n, r) { var i = function () { var t = he; ge(e); var n = arguments.length ? r.apply(null, arguments) : r({}), i = (n = n && "object" == (0, a["default"])(n) && !u(n) ? [n] : vt(n)) && n[0]; return ge(t), n && (!i || 1 === n.length && i.isComment && !Rt(i)) ? void 0 : n }; return r.proxy && Object.defineProperty(t, n, { get: i, enumerable: !0, configurable: !0 }), i } function Ut(e, t) { return function () { return e[t] } } function Bt(e) { return { get attrs() { if (!e._attrsProxy) { var t = e._attrsProxy = {}; Z(t, "_v_attr_proxy", !0), Gt(t, e.$attrs, s, e, "$attrs") } return e._attrsProxy }, get listeners() { return e._listenersProxy || Gt(e._listenersProxy = {}, e.$listeners, s, e, "$listeners"), e._listenersProxy }, get slots() { return function (e) { return e._slotsProxy || Ht(e._slotsProxy = {}, e.$scopedSlots), e._slotsProxy }(e) }, emit: N(e.$emit, e), expose: function (t) { t && Object.keys(t).forEach((function (n) { return Ke(e, t, n) })) } } } function Gt(e, t, n, r, i) { var o = !1; for (var a in t) a in e ? t[a] !== n[a] && (o = !0) : (o = !0, zt(e, a, r, i)); for (var s in e) s in t || (o = !0, delete e[s]); return o } function zt(e, t, n, r) { Object.defineProperty(e, t, { enumerable: !0, configurable: !0, get: function () { return n[r][t] } }) } function Ht(e, t) { for (var n in t) e[n] = t[n]; for (var r in e) r in t || delete e[r] } function qt() { var e = he; return e._setupContext || (e._setupContext = Bt(e)) } var Vt = null; function Wt(e, t) { return (e.__esModule || pe && "Module" === e[Symbol.toStringTag]) && (e = e["default"]), h(e) ? t.extend(e) : e } function Kt(e) { if (u(e)) for (var t = 0; t < e.length; t++) { var n = e[t]; if (l(n) && (l(n.componentOptions) || Rt(n))) return n } } var Zt = 1, Yt = 2; function Xt(e, t, n, r, i, o) { return (u(n) || f(n)) && (i = r, r = n, n = void 0), d(o) && (i = Yt), function (e, t, n, r, i) { return l(n) && l(n.__ob__) ? ve() : (l(n) && l(n.is) && (t = n.is), t ? (u(r) && p(r[0]) && ((n = n || {}).scopedSlots = { "default": r[0] }, r.length = 0), i === Yt ? r = vt(r) : i === Zt && (r = function (e) { for (var t = 0; t < e.length; t++)if (u(e[t])) return Array.prototype.concat.apply([], e); return e }(r)), "string" == typeof t ? (a = e.$vnode && e.$vnode.ns || W.getTagNamespace(t), o = W.isReservedTag(t) ? new me(W.parsePlatformTagName(t), n, r, void 0, void 0, e) : n && n.pre || !l(s = br(e.$options, "components", t)) ? new me(t, n, r, void 0, void 0, e) : lr(s, n, e, r, t)) : o = lr(t, n, e, r), u(o) ? o : l(o) ? (l(a) && Jt(o, a), l(n) && function (e) { h(e.style) && Sn(e.style), h(e["class"]) && Sn(e["class"]) }(n), o) : ve()) : ve()); var o, a, s }(e, t, n, r, i) } function Jt(e, t, n) { if (e.ns = t, "foreignObject" === e.tag && (t = void 0, n = !0), l(e.children)) for (var r = 0, i = e.children.length; r < i; r++) { var o = e.children[r]; l(o.tag) && (c(o.ns) || d(n) && "svg" !== o.tag) && Jt(o, t, n) } } function Qt(e, t, n) { Ae(); try { if (t) for (var r = t; r = r.$parent;) { var i = r.$options.errorCaptured; if (i) for (var o = 0; o < i.length; o++)try { if (!1 === i[o].call(r, e, t, n)) return } catch (e) { tn(e, r, "errorCaptured hook") } } tn(e, t, n) } finally { Ce() } } function en(e, t, n, r, i) { var o; try { (o = n ? e.apply(t, n) : e.call(t)) && !o._isVue && _(o) && !o._handled && (o["catch"]((function (e) { return Qt(e, r, i + " (Promise/async)") })), o._handled = !0) } catch (e) { Qt(e, r, i) } return o } function tn(e, t, n) { if (W.errorHandler) try { return W.errorHandler.call(null, e, t, n) } catch (t) { t !== e && nn(t) } nn(e) } function nn(e, t, n) { if (!J || "undefined" == typeof console) throw e; console.error(e) } var rn, on = !1, an = [], sn = !1; function un() { sn = !1; var e = an.slice(0); an.length = 0; for (var t = 0; t < e.length; t++)e[t]() } if ("undefined" != typeof Promise && de(Promise)) { var cn = Promise.resolve(); rn = function () { cn.then(un), re && setTimeout(R) }, on = !0 } else if (ee || "undefined" == typeof MutationObserver || !de(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString()) rn = "undefined" != typeof setImmediate && de(setImmediate) ? function () { setImmediate(un) } : function () { setTimeout(un, 0) }; else { var ln = 1, dn = new MutationObserver(un), fn = document.createTextNode(String(ln)); dn.observe(fn, { characterData: !0 }), rn = function () { ln = (ln + 1) % 2, fn.data = String(ln) }, on = !0 } function pn(e, t) { var n; if (an.push((function () { if (e) try { e.call(t) } catch (e) { Qt(e, t, "nextTick") } else n && n(t) })), sn || (sn = !0, rn()), !e && "undefined" != typeof Promise) return new Promise((function (e) { n = e })) } function hn(e) { return function (t) { var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : he; if (n) return function (e, t, n) { var r = e.$options; r[t] = mr(r[t], n) }(n, e, t) } } var gn = hn("beforeMount"), mn = hn("mounted"), vn = hn("beforeUpdate"), _n = hn("updated"), yn = hn("beforeDestroy"), bn = hn("destroyed"), kn = hn("activated"), wn = hn("deactivated"), En = hn("serverPrefetch"), xn = hn("renderTracked"), An = hn("renderTriggered"), Cn = hn("errorCaptured"), In = "2.7.16", Dn = Object.freeze({ __proto__: null, version: In, defineComponent: function (e) { return e }, ref: function (e) { return We(e, !1) }, shallowRef: function (e) { return We(e, !0) }, isRef: Ve, toRef: Ze, toRefs: function (e) { var t = u(e) ? new Array(e.length) : {}; for (var n in e) t[n] = Ze(e, n); return t }, unref: function (e) { return Ve(e) ? e.value : e }, proxyRefs: function (e) { if (Ge(e)) return e; for (var t = {}, n = Object.keys(e), r = 0; r < n.length; r++)Ke(t, e, n[r]); return t }, customRef: function (e) { var t = new Ee, n = e((function () { t.depend() }), (function () { t.notify() })), r = n.get, i = n.set, o = { get value() { return r() }, set value(e) { i(e) } }; return Z(o, qe, !0), o }, triggerRef: function (e) { e.dep && e.dep.notify() }, reactive: function (e) { return Be(e, !1), e }, isReactive: Ge, isReadonly: He, isShallow: ze, isProxy: function (e) { return Ge(e) || He(e) }, shallowReactive: Ue, markRaw: function (e) { return Object.isExtensible(e) && Z(e, "__v_skip", !0), e }, toRaw: function Xo(e) { var t = e && e.__v_raw; return t ? Xo(t) : e }, readonly: Je, shallowReadonly: function (e) { return Qe(e, !0) }, computed: function (e, t) { var n, r, i = p(e); i ? (n = e, r = R) : (n = e.get, r = e.set); var o = ce() ? null : new Pn(he, n, R, { lazy: !0 }), a = { effect: o, get value() { return o ? (o.dirty && o.evaluate(), Ee.target && o.depend(), o.value) : n() }, set value(e) { r(e) } }; return Z(a, qe, !0), Z(a, "__v_isReadonly", i), a }, watch: function (e, t, n) { return ut(e, t, n) }, watchEffect: function (e, t) { return ut(e, null, t) }, watchPostEffect: ot, watchSyncEffect: function (e, t) { return ut(e, null, { flush: "sync" }) }, EffectScope: ct, effectScope: function (e) { return new ct(e) }, onScopeDispose: function (e) { at && at.cleanups.push(e) }, getCurrentScope: lt, provide: function (e, t) { he && (dt(he)[e] = t) }, inject: function (e, t) { var n = arguments.length > 2 && arguments[2] !== undefined && arguments[2], r = he; if (r) { var i = r.$parent && r.$parent._provided; if (i && e in i) return i[e]; if (arguments.length > 1) return n && p(t) ? t.call(r) : t } }, h: function (e, t, n) { return Xt(he, e, t, n, 2, !0) }, getCurrentInstance: function () { return he && { proxy: he } }, useSlots: function () { return qt().slots }, useAttrs: function () { return qt().attrs }, useListeners: function () { return qt().listeners }, mergeDefaults: function (e, t) { var n = u(e) ? e.reduce((function (e, t) { return e[t] = {}, e }), {}) : e; for (var r in t) { var i = n[r]; i ? u(i) || p(i) ? n[r] = { type: i, "default": t[r] } : i["default"] = t[r] : null === i && (n[r] = { "default": t[r] }) } return n }, nextTick: pn, set: Re, del: je, useCssModule: function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "$style"; return he && he[e] || s }, useCssVars: function (e) { if (J) { var t = he; t && ot((function () { var n = t.$el, r = e(t, t._setupProxy); if (n && 1 === n.nodeType) { var i = n.style; for (var o in r) i.setProperty("--".concat(o), r[o]) } })) } }, defineAsyncComponent: function (e) { p(e) && (e = { loader: e }); var t = e, n = t.loader, r = t.loadingComponent, i = t.errorComponent, o = t.delay, a = void 0 === o ? 200 : o, s = t.timeout, u = (t.suspensible, t.onError), c = null, l = 0, d = function f() { var e; return c || (e = c = n()["catch"]((function (e) { if (e = e instanceof Error ? e : new Error(String(e)), u) return new Promise((function (t, n) { u(e, (function () { return t((l++, c = null, f())) }), (function () { return n(e) }), l + 1) })); throw e })).then((function (t) { return e !== c && c ? c : (t && (t.__esModule || "Module" === t[Symbol.toStringTag]) && (t = t["default"]), t) }))) }; return function () { return { component: d(), delay: a, timeout: s, error: i, loading: r } } }, onBeforeMount: gn, onMounted: mn, onBeforeUpdate: vn, onUpdated: _n, onBeforeUnmount: yn, onUnmounted: bn, onActivated: kn, onDeactivated: wn, onServerPrefetch: En, onRenderTracked: xn, onRenderTriggered: An, onErrorCaptured: function (e) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : he; Cn(e, t) } }), On = new fe; function Sn(e) { return Tn(e, On), On.clear(), e } function Tn(e, t) { var n, r, i = u(e); if (!(!i && !h(e) || e.__v_skip || Object.isFrozen(e) || e instanceof me)) { if (e.__ob__) { var o = e.__ob__.dep.id; if (t.has(o)) return; t.add(o) } if (i) for (n = e.length; n--;)Tn(e[n], t); else if (Ve(e)) Tn(e.value, t); else for (n = (r = Object.keys(e)).length; n--;)Tn(e[r[n]], t) } } var Mn, Nn = 0, Pn = function () { function e(t, n, r, o, a) { (0, i["default"])(this, e), function (e) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : at; t && t.active && t.effects.push(e) }(this, at && !at._vm ? at : t ? t._scope : void 0), (this.vm = t) && a && (t._watcher = this), o ? (this.deep = !!o.deep, this.user = !!o.user, this.lazy = !!o.lazy, this.sync = !!o.sync, this.before = o.before) : this.deep = this.user = this.lazy = this.sync = !1, this.cb = r, this.id = ++Nn, this.active = !0, this.post = !1, this.dirty = this.lazy, this.deps = [], this.newDeps = [], this.depIds = new fe, this.newDepIds = new fe, this.expression = "", p(n) ? this.getter = n : (this.getter = function (e) { if (!Y.test(e)) { var t = e.split("."); return function (e) { for (var n = 0; n < t.length; n++) { if (!e) return; e = e[t[n]] } return e } } }(n), this.getter || (this.getter = R)), this.value = this.lazy ? void 0 : this.get() } return (0, o["default"])(e, [{ key: "get", value: function () { var e; Ae(this); var t = this.vm; try { e = this.getter.call(t, t) } catch (e) { if (!this.user) throw e; Qt(e, t, 'getter for watcher "'.concat(this.expression, '"')) } finally { this.deep && Sn(e), Ce(), this.cleanupDeps() } return e } }, { key: "addDep", value: function (e) { var t = e.id; this.newDepIds.has(t) || (this.newDepIds.add(t), this.newDeps.push(e), this.depIds.has(t) || e.addSub(this)) } }, { key: "cleanupDeps", value: function () { for (var e = this.deps.length; e--;) { var t = this.deps[e]; this.newDepIds.has(t.id) || t.removeSub(this) } var n = this.depIds; this.depIds = this.newDepIds, this.newDepIds = n, this.newDepIds.clear(), n = this.deps, this.deps = this.newDeps, this.newDeps = n, this.newDeps.length = 0 } }, { key: "update", value: function () { this.lazy ? this.dirty = !0 : this.sync ? this.run() : nr(this) } }, { key: "run", value: function () { if (this.active) { var e = this.get(); if (e !== this.value || h(e) || this.deep) { var t = this.value; if (this.value = e, this.user) { var n = 'callback for watcher "'.concat(this.expression, '"'); en(this.cb, this.vm, [e, t], this.vm, n) } else this.cb.call(this.vm, e, t) } } } }, { key: "evaluate", value: function () { this.value = this.get(), this.dirty = !1 } }, { key: "depend", value: function () { for (var e = this.deps.length; e--;)this.deps[e].depend() } }, { key: "teardown", value: function () { if (this.vm && !this.vm._isBeingDestroyed && x(this.vm._scope.effects, this), this.active) { for (var e = this.deps.length; e--;)this.deps[e].removeSub(this); this.active = !1, this.onStop && this.onStop() } } }]), e }(); function Fn(e, t) { Mn.$on(e, t) } function Ln(e, t) { Mn.$off(e, t) } function Rn(e, t) { var n = Mn; return function r() { null !== t.apply(null, arguments) && n.$off(e, r) } } function jn(e, t, n) { Mn = e, ht(t, n || {}, Fn, Ln, Rn, e), Mn = void 0 } var $n = null; function Un(e) { var t = $n; return $n = e, function () { $n = t } } function Bn(e) { for (; e && (e = e.$parent);)if (e._inactive) return !0; return !1 } function Gn(e, t) { if (t) { if (e._directInactive = !1, Bn(e)) return } else if (e._directInactive) return; if (e._inactive || null === e._inactive) { e._inactive = !1; for (var n = 0; n < e.$children.length; n++)Gn(e.$children[n]); Hn(e, "activated") } } function zn(e, t) { if (!(t && (e._directInactive = !0, Bn(e)) || e._inactive)) { e._inactive = !0; for (var n = 0; n < e.$children.length; n++)zn(e.$children[n]); Hn(e, "deactivated") } } function Hn(e, t, n) { var r = !(arguments.length > 3 && arguments[3] !== undefined) || arguments[3]; Ae(); var i = he, o = lt(); r && ge(e); var a = e.$options[t], s = "".concat(t, " hook"); if (a) for (var u = 0, c = a.length; u < c; u++)en(a[u], e, n || null, e, s); e._hasHookEvent && e.$emit("hook:" + t), r && (ge(i), o && o.on()), Ce() } var qn = [], Vn = [], Wn = {}, Kn = !1, Zn = !1, Yn = 0, Xn = 0, Jn = Date.now; if (J && !ee) { var Qn = window.performance; Qn && "function" == typeof Qn.now && Jn() > document.createEvent("Event").timeStamp && (Jn = function () { return Qn.now() }) } var er = function (e, t) { if (e.post) { if (!t.post) return 1 } else if (t.post) return -1; return e.id - t.id }; function tr() { var e, t; for (Xn = Jn(), Zn = !0, qn.sort(er), Yn = 0; Yn < qn.length; Yn++)(e = qn[Yn]).before && e.before(), t = e.id, Wn[t] = null, e.run(); var n = Vn.slice(), r = qn.slice(); Yn = qn.length = Vn.length = 0, Wn = {}, Kn = Zn = !1, function (e) { for (var t = 0; t < e.length; t++)e[t]._inactive = !0, Gn(e[t], !0) }(n), function (e) { for (var t = e.length; t--;) { var n = e[t], r = n.vm; r && r._watcher === n && r._isMounted && !r._isDestroyed && Hn(r, "updated") } }(r), we(), le && W.devtools && le.emit("flush") } function nr(e) { var t = e.id; if (null == Wn[t] && (e !== Ee.target || !e.noRecurse)) { if (Wn[t] = !0, Zn) { for (var n = qn.length - 1; n > Yn && qn[n].id > e.id;)n--; qn.splice(n + 1, 0, e) } else qn.push(e); Kn || (Kn = !0, pn(tr)) } } function rr(e, t) { if (e) { for (var n = Object.create(null), r = pe ? Reflect.ownKeys(e) : Object.keys(e), i = 0; i < r.length; i++) { var o = r[i]; if ("__ob__" !== o) { var a = e[o].from; if (a in t._provided) n[o] = t._provided[a]; else if ("default" in e[o]) { var s = e[o]["default"]; n[o] = p(s) ? s.call(t) : s } } } return n } } function ir(e, t, n, r, i) { var o, a = this, c = i.options; C(r, "_uid") ? (o = Object.create(r))._original = r : (o = r, r = r._original); var l = d(c._compiled), f = !l; this.data = e, this.props = t, this.children = n, this.parent = r, this.listeners = e.on || s, this.injections = rr(c.inject, r), this.slots = function () { return a.$slots || jt(r, e.scopedSlots, a.$slots = Ft(n, r)), a.$slots }, Object.defineProperty(this, "scopedSlots", { enumerable: !0, get: function () { return jt(r, e.scopedSlots, this.slots()) } }), l && (this.$options = c, this.$slots = this.slots(), this.$scopedSlots = jt(r, e.scopedSlots, this.$slots)), c._scopeId ? this._c = function (e, t, n, i) { var a = Xt(o, e, t, n, i, f); return a && !u(a) && (a.fnScopeId = c._scopeId, a.fnContext = r), a } : this._c = function (e, t, n, r) { return Xt(o, e, t, n, r, f) } } function or(e, t, n, r, i) { var o = ye(e); return o.fnContext = n, o.fnOptions = r, t.slot && ((o.data || (o.data = {})).slot = t.slot), o } function ar(e, t) { for (var n in t) e[O(n)] = t[n] } function sr(e) { return e.name || e.__name || e._componentTag } Pt(ir.prototype); var ur = { init: function (e, t) { if (e.componentInstance && !e.componentInstance._isDestroyed && e.data.keepAlive) { var n = e; ur.prepatch(n, n) } else (e.componentInstance = function (e, t) { var n = { _isComponent: !0, _parentVnode: e, parent: t }, r = e.data.inlineTemplate; return l(r) && (n.render = r.render, n.staticRenderFns = r.staticRenderFns), new e.componentOptions.Ctor(n) }(e, $n)).$mount(t ? e.elm : void 0, t) }, prepatch: function (e, t) { var n = t.componentOptions; !function (e, t, n, r, i) { var o = r.data.scopedSlots, a = e.$scopedSlots, u = !!(o && !o.$stable || a !== s && !a.$stable || o && e.$scopedSlots.$key !== o.$key || !o && e.$scopedSlots.$key), c = !!(i || e.$options._renderChildren || u), l = e.$vnode; e.$options._parentVnode = r, e.$vnode = r, e._vnode && (e._vnode.parent = r), e.$options._renderChildren = i; var d = r.data.attrs || s; e._attrsProxy && Gt(e._attrsProxy, d, l.data && l.data.attrs || s, e, "$attrs") && (c = !0), e.$attrs = d, n = n || s; var f = e.$options._parentListeners; if (e._listenersProxy && Gt(e._listenersProxy, n, f || s, e, "$listeners"), e.$listeners = e.$options._parentListeners = n, jn(e, n, f), t && e.$options.props) { Me(!1); for (var p = e._props, h = e.$options._propKeys || [], g = 0; g < h.length; g++) { var m = h[g], v = e.$options.props; p[m] = kr(m, v, t, e) } Me(!0), e.$options.propsData = t } c && (e.$slots = Ft(i, r.context), e.$forceUpdate()) }(t.componentInstance = e.componentInstance, n.propsData, n.listeners, t, n.children) }, insert: function (e) { var t, n = e.context, r = e.componentInstance; r._isMounted || (r._isMounted = !0, Hn(r, "mounted")), e.data.keepAlive && (n._isMounted ? ((t = r)._inactive = !1, Vn.push(t)) : Gn(r, !0)) }, destroy: function (e) { var t = e.componentInstance; t._isDestroyed || (e.data.keepAlive ? zn(t, !0) : t.$destroy()) } }, cr = Object.keys(ur); function lr(e, t, n, r, i) { if (!c(e)) { var o = n.$options._base; if (h(e) && (e = o.extend(e)), "function" == typeof e) { var a; if (c(e.cid) && (e = function (e, t) { if (d(e.error) && l(e.errorComp)) return e.errorComp; if (l(e.resolved)) return e.resolved; var n = Vt; if (n && l(e.owners) && -1 === e.owners.indexOf(n) && e.owners.push(n), d(e.loading) && l(e.loadingComp)) return e.loadingComp; if (n && !l(e.owners)) { var r = e.owners = [n], i = !0, o = null, a = null; n.$on("hook:destroyed", (function () { return x(r, n) })); var s = function (e) { for (var t = 0, n = r.length; t < n; t++)r[t].$forceUpdate(); e && (r.length = 0, null !== o && (clearTimeout(o), o = null), null !== a && (clearTimeout(a), a = null)) }, u = G((function (n) { e.resolved = Wt(n, t), i ? r.length = 0 : s(!0) })), f = G((function (t) { l(e.errorComp) && (e.error = !0, s(!0)) })), p = e(u, f); return h(p) && (_(p) ? c(e.resolved) && p.then(u, f) : _(p.component) && (p.component.then(u, f), l(p.error) && (e.errorComp = Wt(p.error, t)), l(p.loading) && (e.loadingComp = Wt(p.loading, t), 0 === p.delay ? e.loading = !0 : o = setTimeout((function () { o = null, c(e.resolved) && c(e.error) && (e.loading = !0, s(!1)) }), p.delay || 200)), l(p.timeout) && (a = setTimeout((function () { a = null, c(e.resolved) && f(null) }), p.timeout)))), i = !1, e.loading ? e.loadingComp : e.resolved } }(a = e, o), void 0 === e)) return function (e, t, n, r, i) { var o = ve(); return o.asyncFactory = e, o.asyncMeta = { data: t, context: n, children: r, tag: i }, o }(a, t, n, r, i); t = t || {}, Fr(e), l(t.model) && function (e, t) { var n = e.model && e.model.prop || "value", r = e.model && e.model.event || "input"; (t.attrs || (t.attrs = {}))[n] = t.model.value; var i = t.on || (t.on = {}), o = i[r], a = t.model.callback; l(o) ? (u(o) ? -1 === o.indexOf(a) : o !== a) && (i[r] = [a].concat(o)) : i[r] = a }(e.options, t); var f = function (e, t, n) { var r = t.options.props; if (!c(r)) { var i = {}, o = e.attrs, a = e.props; if (l(o) || l(a)) for (var s in r) { var u = M(s); mt(i, a, s, u, !0) || mt(i, o, s, u, !1) } return i } }(t, e); if (d(e.options.functional)) return function (e, t, n, r, i) { var o = e.options, a = {}, c = o.props; if (l(c)) for (var d in c) a[d] = kr(d, c, t || s); else l(n.attrs) && ar(a, n.attrs), l(n.props) && ar(a, n.props); var f = new ir(n, a, i, r, e), p = o.render.call(null, f._c, f); if (p instanceof me) return or(p, n, f.parent, o); if (u(p)) { for (var h = vt(p) || [], g = new Array(h.length), m = 0; m < h.length; m++)g[m] = or(h[m], n, f.parent, o); return g } }(e, f, t, n, r); var p = t.on; if (t.on = t.nativeOn, d(e.options.abstract)) { var g = t.slot; t = {}, g && (t.slot = g) } !function (e) { for (var t = e.hook || (e.hook = {}), n = 0; n < cr.length; n++) { var r = cr[n], i = t[r], o = ur[r]; i === o || i && i._merged || (t[r] = i ? dr(o, i) : o) } }(t); var m = sr(e.options) || i; return new me("vue-component-".concat(e.cid).concat(m ? "-".concat(m) : ""), t, void 0, void 0, void 0, n, { Ctor: e, propsData: f, listeners: p, tag: i, children: r }, a) } } } function dr(e, t) { var n = function (n, r) { e(n, r), t(n, r) }; return n._merged = !0, n } var fr = R, pr = W.optionMergeStrategies; function hr(e, t) { var n, r, i, o = !(arguments.length > 2 && arguments[2] !== undefined) || arguments[2]; if (!t) return e; for (var a = pe ? Reflect.ownKeys(t) : Object.keys(t), s = 0; s < a.length; s++)"__ob__" !== (n = a[s]) && (r = e[n], i = t[n], o && C(e, n) ? r !== i && m(r) && m(i) && hr(r, i) : Re(e, n, i)); return e } function gr(e, t, n) { return n ? function () { var r = p(t) ? t.call(n, n) : t, i = p(e) ? e.call(n, n) : e; return r ? hr(r, i) : i } : t ? e ? function () { return hr(p(t) ? t.call(this, this) : t, p(e) ? e.call(this, this) : e) } : t : e } function mr(e, t) { var n = t ? e ? e.concat(t) : u(t) ? t : [t] : e; return n ? function (e) { for (var t = [], n = 0; n < e.length; n++)-1 === t.indexOf(e[n]) && t.push(e[n]); return t }(n) : n } function vr(e, t, n, r) { var i = Object.create(e || null); return t ? F(i, t) : i } pr.data = function (e, t, n) { return n ? gr(e, t, n) : t && "function" != typeof t ? e : gr(e, t) }, V.forEach((function (e) { pr[e] = mr })), q.forEach((function (e) { pr[e + "s"] = vr })), pr.watch = function (e, t, n, r) { if (e === ae && (e = void 0), t === ae && (t = void 0), !t) return Object.create(e || null); if (!e) return t; var i = {}; for (var o in F(i, e), t) { var a = i[o], s = t[o]; a && !u(a) && (a = [a]), i[o] = a ? a.concat(s) : u(s) ? s : [s] } return i }, pr.props = pr.methods = pr.inject = pr.computed = function (e, t, n, r) { if (!e) return t; var i = Object.create(null); return F(i, e), t && F(i, t), i }, pr.provide = function (e, t) { return e ? function () { var n = Object.create(null); return hr(n, p(e) ? e.call(this) : e), t && hr(n, p(t) ? t.call(this) : t, !1), n } : t }; var _r = function (e, t) { return void 0 === t ? e : t }; function yr(e, t, n) { if (p(t) && (t = t.options), function (e, t) { var n = e.props; if (n) { var r, i, o = {}; if (u(n)) for (r = n.length; r--;)"string" == typeof (i = n[r]) && (o[O(i)] = { type: null }); else if (m(n)) for (var a in n) i = n[a], o[O(a)] = m(i) ? i : { type: i }; e.props = o } }(t), function (e, t) { var n = e.inject; if (n) { var r = e.inject = {}; if (u(n)) for (var i = 0; i < n.length; i++)r[n[i]] = { from: n[i] }; else if (m(n)) for (var o in n) { var a = n[o]; r[o] = m(a) ? F({ from: o }, a) : { from: a } } } }(t), function (e) { var t = e.directives; if (t) for (var n in t) { var r = t[n]; p(r) && (t[n] = { bind: r, update: r }) } }(t), !t._base && (t["extends"] && (e = yr(e, t["extends"], n)), t.mixins)) for (var r = 0, i = t.mixins.length; r < i; r++)e = yr(e, t.mixins[r], n); var o, a = {}; for (o in e) s(o); for (o in t) C(e, o) || s(o); function s(r) { var i = pr[r] || _r; a[r] = i(e[r], t[r], n, r) } return a } function br(e, t, n, r) { if ("string" == typeof n) { var i = e[t]; if (C(i, n)) return i[n]; var o = O(n); if (C(i, o)) return i[o]; var a = S(o); return C(i, a) ? i[a] : i[n] || i[o] || i[a] } } function kr(e, t, n, r) { var i = t[e], o = !C(n, e), a = n[e], s = Ar(Boolean, i.type); if (s > -1) if (o && !C(i, "default")) a = !1; else if ("" === a || a === M(e)) { var u = Ar(String, i.type); (u < 0 || s < u) && (a = !0) } if (void 0 === a) { a = function (e, t, n) { if (C(t, "default")) { var r = t["default"]; return e && e.$options.propsData && void 0 === e.$options.propsData[n] && void 0 !== e._props[n] ? e._props[n] : p(r) && "Function" !== Er(t.type) ? r.call(e) : r } }(r, i, e); var c = Te; Me(!0), Fe(a), Me(c) } return a } var wr = /^\s*function (\w+)/; function Er(e) { var t = e && e.toString().match(wr); return t ? t[1] : "" } function xr(e, t) { return Er(e) === Er(t) } function Ar(e, t) { if (!u(t)) return xr(t, e) ? 0 : -1; for (var n = 0, r = t.length; n < r; n++)if (xr(t[n], e)) return n; return -1 } var Cr = { enumerable: !0, configurable: !0, get: R, set: R }; function Ir(e, t, n) { Cr.get = function () { return this[t][n] }, Cr.set = function (e) { this[t][n] = e }, Object.defineProperty(e, n, Cr) } function Dr(e) { var t = e.$options; if (t.props && function (e, t) { var n = e.$options.propsData || {}, r = e._props = Ue({}), i = e.$options._propKeys = [], o = !e.$parent; for (var a in o || Me(!1), t) i.push(a), Le(r, a, kr(a, t, n, e), void 0, !0), a in e || Ir(e, "_props", a); Me(!0) }(e, t.props), function (e) { var t = e.$options, n = t.setup; if (n) { var r = e._setupContext = Bt(e); ge(e), Ae(); var i = en(n, null, [e._props || Ue({}), r], e, "setup"); if (Ce(), ge(), p(i)) t.render = i; else if (h(i)) if (e._setupState = i, i.__sfc) { var o = e._setupProxy = {}; for (var a in i) "__sfc" !== a && Ke(o, i, a) } else for (var s in i) K(s) || Ke(e, i, s) } }(e), t.methods && function (e, t) { for (var n in e.$options.props, t) e[n] = "function" != typeof t[n] ? R : N(t[n], e) }(e, t.methods), t.data) !function (e) { var t = e.$options.data; m(t = e._data = p(t) ? function (e, t) { Ae(); try { return e.call(t, t) } catch (e) { return Qt(e, t, "data()"), {} } finally { Ce() } }(t, e) : t || {}) || (t = {}); var n = Object.keys(t), r = e.$options.props; e.$options.methods; for (var i = n.length; i--;) { var o = n[i]; r && C(r, o) || K(o) || Ir(e, "_data", o) } var a = Fe(t); a && a.vmCount++ }(e); else { var n = Fe(e._data = {}); n && n.vmCount++ } t.computed && function (e, t) { var n = e._computedWatchers = Object.create(null), r = ce(); for (var i in t) { var o = t[i], a = p(o) ? o : o.get; r || (n[i] = new Pn(e, a || R, R, Or)), i in e || Sr(e, i, o) } }(e, t.computed), t.watch && t.watch !== ae && function (e, t) { for (var n in t) { var r = t[n]; if (u(r)) for (var i = 0; i < r.length; i++)Nr(e, n, r[i]); else Nr(e, n, r) } }(e, t.watch) } var Or = { lazy: !0 }; function Sr(e, t, n) { var r = !ce(); p(n) ? (Cr.get = r ? Tr(t) : Mr(n), Cr.set = R) : (Cr.get = n.get ? r && !1 !== n.cache ? Tr(t) : Mr(n.get) : R, Cr.set = n.set || R), Object.defineProperty(e, t, Cr) } function Tr(e) { return function () { var t = this._computedWatchers && this._computedWatchers[e]; if (t) return t.dirty && t.evaluate(), Ee.target && t.depend(), t.value } } function Mr(e) { return function () { return e.call(this, this) } } function Nr(e, t, n, r) { return m(n) && (r = n, n = n.handler), "string" == typeof n && (n = e[n]), e.$watch(t, n, r) } var Pr = 0; function Fr(e) { var t = e.options; if (e["super"]) { var n = Fr(e["super"]); if (n !== e.superOptions) { e.superOptions = n; var r = function (e) { var t, n = e.options, r = e.sealedOptions; for (var i in n) n[i] !== r[i] && (t || (t = {}), t[i] = n[i]); return t }(e); r && F(e.extendOptions, r), (t = e.options = yr(n, e.extendOptions)).name && (t.components[t.name] = e) } } return t } function Lr(e) { this._init(e) } function Rr(e) { return e && (sr(e.Ctor.options) || e.tag) } function jr(e, t) { return u(e) ? e.indexOf(t) > -1 : "string" == typeof e ? e.split(",").indexOf(t) > -1 : (n = e, "[object RegExp]" === g.call(n) && e.test(t)); var n } function $r(e, t) { var n = e.cache, r = e.keys, i = e._vnode, o = e.$vnode; for (var a in n) { var s = n[a]; if (s) { var u = s.name; u && !t(u) && Ur(n, a, r, i) } } o.componentOptions.children = void 0 } function Ur(e, t, n, r) { var i = e[t]; !i || r && i.tag === r.tag || i.componentInstance.$destroy(), e[t] = null, x(n, t) } !function (e) { e.prototype._init = function (e) { var t = this; t._uid = Pr++, t._isVue = !0, t.__v_skip = !0, t._scope = new ct(!0), t._scope.parent = void 0, t._scope._vm = !0, e && e._isComponent ? function (e, t) { var n = e.$options = Object.create(e.constructor.options), r = t._parentVnode; n.parent = t.parent, n._parentVnode = r; var i = r.componentOptions; n.propsData = i.propsData, n._parentListeners = i.listeners, n._renderChildren = i.children, n._componentTag = i.tag, t.render && (n.render = t.render, n.staticRenderFns = t.staticRenderFns) }(t, e) : t.$options = yr(Fr(t.constructor), e || {}, t), t._renderProxy = t, t._self = t, function (e) { var t = e.$options, n = t.parent; if (n && !t.abstract) { for (; n.$options.abstract && n.$parent;)n = n.$parent; n.$children.push(e) } e.$parent = n, e.$root = n ? n.$root : e, e.$children = [], e.$refs = {}, e._provided = n ? n._provided : Object.create(null), e._watcher = null, e._inactive = null, e._directInactive = !1, e._isMounted = !1, e._isDestroyed = !1, e._isBeingDestroyed = !1 }(t), function (e) { e._events = Object.create(null), e._hasHookEvent = !1; var t = e.$options._parentListeners; t && jn(e, t) }(t), function (e) { e._vnode = null, e._staticTrees = null; var t = e.$options, n = e.$vnode = t._parentVnode, r = n && n.context; e.$slots = Ft(t._renderChildren, r), e.$scopedSlots = n ? jt(e.$parent, n.data.scopedSlots, e.$slots) : s, e._c = function (t, n, r, i) { return Xt(e, t, n, r, i, !1) }, e.$createElement = function (t, n, r, i) { return Xt(e, t, n, r, i, !0) }; var i = n && n.data; Le(e, "$attrs", i && i.attrs || s, null, !0), Le(e, "$listeners", t._parentListeners || s, null, !0) }(t), Hn(t, "beforeCreate", void 0, !1), function (e) { var t = rr(e.$options.inject, e); t && (Me(!1), Object.keys(t).forEach((function (n) { Le(e, n, t[n]) })), Me(!0)) }(t), Dr(t), function (e) { var t = e.$options.provide; if (t) { var n = p(t) ? t.call(e) : t; if (!h(n)) return; for (var r = dt(e), i = pe ? Reflect.ownKeys(n) : Object.keys(n), o = 0; o < i.length; o++) { var a = i[o]; Object.defineProperty(r, a, Object.getOwnPropertyDescriptor(n, a)) } } }(t), Hn(t, "created"), t.$options.el && t.$mount(t.$options.el) } }(Lr), function (e) { Object.defineProperty(e.prototype, "$data", { get: function () { return this._data } }), Object.defineProperty(e.prototype, "$props", { get: function () { return this._props } }), e.prototype.$set = Re, e.prototype.$delete = je, e.prototype.$watch = function (e, t, n) { var r = this; if (m(t)) return Nr(r, e, t, n); (n = n || {}).user = !0; var i = new Pn(r, e, t, n); if (n.immediate) { var o = 'callback for immediate watcher "'.concat(i.expression, '"'); Ae(), en(t, r, [i.value], r, o), Ce() } return function () { i.teardown() } } }(Lr), function (e) { var t = /^hook:/; e.prototype.$on = function (e, n) { var r = this; if (u(e)) for (var i = 0, o = e.length; i < o; i++)r.$on(e[i], n); else (r._events[e] || (r._events[e] = [])).push(n), t.test(e) && (r._hasHookEvent = !0); return r }, e.prototype.$once = function (e, t) { var n = this; function r() { n.$off(e, r), t.apply(n, arguments) } return r.fn = t, n.$on(e, r), n }, e.prototype.$off = function (e, t) { var n = this; if (!arguments.length) return n._events = Object.create(null), n; if (u(e)) { for (var r = 0, i = e.length; r < i; r++)n.$off(e[r], t); return n } var o = n._events[e]; if (!o) return n; if (!t) return n._events[e] = null, n; for (var a, s = o.length; s--;)if ((a = o[s]) === t || a.fn === t) { o.splice(s, 1); break } return n }, e.prototype.$emit = function (e) { var t = this, n = t._events[e]; if (n) { n = n.length > 1 ? P(n) : n; for (var r = P(arguments, 1), i = 'event handler for "'.concat(e, '"'), o = 0, a = n.length; o < a; o++)en(n[o], t, r, t, i) } return t } }(Lr), function (e) { e.prototype._update = function (e, t) { var n = this, r = n.$el, i = n._vnode, o = Un(n); n._vnode = e, n.$el = i ? n.__patch__(i, e) : n.__patch__(n.$el, e, t, !1), o(), r && (r.__vue__ = null), n.$el && (n.$el.__vue__ = n); for (var a = n; a && a.$vnode && a.$parent && a.$vnode === a.$parent._vnode;)a.$parent.$el = a.$el, a = a.$parent }, e.prototype.$forceUpdate = function () { this._watcher && this._watcher.update() }, e.prototype.$destroy = function () { var e = this; if (!e._isBeingDestroyed) { Hn(e, "beforeDestroy"), e._isBeingDestroyed = !0; var t = e.$parent; !t || t._isBeingDestroyed || e.$options.abstract || x(t.$children, e), e._scope.stop(), e._data.__ob__ && e._data.__ob__.vmCount--, e._isDestroyed = !0, e.__patch__(e._vnode, null), Hn(e, "destroyed"), e.$off(), e.$el && (e.$el.__vue__ = null), e.$vnode && (e.$vnode.parent = null) } } }(Lr), function (e) { Pt(e.prototype), e.prototype.$nextTick = function (e) { return pn(e, this) }, e.prototype._render = function () { var e = this, t = e.$options, n = t.render, r = t._parentVnode; r && e._isMounted && (e.$scopedSlots = jt(e.$parent, r.data.scopedSlots, e.$slots, e.$scopedSlots), e._slotsProxy && Ht(e._slotsProxy, e.$scopedSlots)), e.$vnode = r; var i, o = he, a = Vt; try { ge(e), Vt = e, i = n.call(e._renderProxy, e.$createElement) } catch (u) { Qt(u, e, "render"), i = e._vnode } finally { Vt = a, ge(o) } return u(i) && 1 === i.length && (i = i[0]), i instanceof me || (i = ve()), i.parent = r, i } }(Lr); var Br = [String, RegExp, Array], Gr = { KeepAlive: { name: "keep-alive", abstract: !0, props: { include: Br, exclude: Br, max: [String, Number] }, methods: { cacheVNode: function () { var e = this.cache, t = this.keys, n = this.vnodeToCache, r = this.keyToCache; if (n) { var i = n.tag, o = n.componentInstance, a = n.componentOptions; e[r] = { name: Rr(a), tag: i, componentInstance: o }, t.push(r), this.max && t.length > parseInt(this.max) && Ur(e, t[0], t, this._vnode), this.vnodeToCache = null } } }, created: function () { this.cache = Object.create(null), this.keys = [] }, destroyed: function () { for (var e in this.cache) Ur(this.cache, e, this.keys) }, mounted: function () { var e = this; this.cacheVNode(), this.$watch("include", (function (t) { $r(e, (function (e) { return jr(t, e) })) })), this.$watch("exclude", (function (t) { $r(e, (function (e) { return !jr(t, e) })) })) }, updated: function () { this.cacheVNode() }, render: function () { var e = this.$slots["default"], t = Kt(e), n = t && t.componentOptions; if (n) { var r = Rr(n), i = this.include, o = this.exclude; if (i && (!r || !jr(i, r)) || o && r && jr(o, r)) return t; var a = this.cache, s = this.keys, u = null == t.key ? n.Ctor.cid + (n.tag ? "::".concat(n.tag) : "") : t.key; a[u] ? (t.componentInstance = a[u].componentInstance, x(s, u), s.push(u)) : (this.vnodeToCache = t, this.keyToCache = u), t.data.keepAlive = !0 } return t || e && e[0] } } }; !function (e) { var t = { get: function () { return W } }; Object.defineProperty(e, "config", t), e.util = { warn: fr, extend: F, mergeOptions: yr, defineReactive: Le }, e.set = Re, e["delete"] = je, e.nextTick = pn, e.observable = function (e) { return Fe(e), e }, e.options = Object.create(null), q.forEach((function (t) { e.options[t + "s"] = Object.create(null) })), e.options._base = e, F(e.options.components, Gr), function (e) { e.use = function (e) { var t = this._installedPlugins || (this._installedPlugins = []); if (t.indexOf(e) > -1) return this; var n = P(arguments, 1); return n.unshift(this), p(e.install) ? e.install.apply(e, n) : p(e) && e.apply(null, n), t.push(e), this } }(e), function (e) { e.mixin = function (e) { return this.options = yr(this.options, e), this } }(e), function (e) { e.cid = 0; var t = 1; e.extend = function (e) { e = e || {}; var n = this, r = n.cid, i = e._Ctor || (e._Ctor = {}); if (i[r]) return i[r]; var o = sr(e) || sr(n.options), a = function (e) { this._init(e) }; return (a.prototype = Object.create(n.prototype)).constructor = a, a.cid = t++, a.options = yr(n.options, e), a["super"] = n, a.options.props && function (e) { var t = e.options.props; for (var n in t) Ir(e.prototype, "_props", n) }(a), a.options.computed && function (e) { var t = e.options.computed; for (var n in t) Sr(e.prototype, n, t[n]) }(a), a.extend = n.extend, a.mixin = n.mixin, a.use = n.use, q.forEach((function (e) { a[e] = n[e] })), o && (a.options.components[o] = a), a.superOptions = n.options, a.extendOptions = e, a.sealedOptions = F({}, a.options), i[r] = a, a } }(e), function (e) { q.forEach((function (t) { e[t] = function (e, n) { return n ? ("component" === t && m(n) && (n.name = n.name || e, n = this.options._base.extend(n)), "directive" === t && p(n) && (n = { bind: n, update: n }), this.options[t + "s"][e] = n, n) : this.options[t + "s"][e] } })) }(e) }(Lr), Object.defineProperty(Lr.prototype, "$isServer", { get: ce }), Object.defineProperty(Lr.prototype, "$ssrContext", { get: function () { return this.$vnode && this.$vnode.ssrContext } }), Object.defineProperty(Lr, "FunctionalRenderContext", { value: ir }), Lr.version = In; var zr = w("style,class"), Hr = w("input,textarea,option,select,progress"), qr = w("contenteditable,draggable,spellcheck"), Vr = w("events,caret,typing,plaintext-only"), Wr = function (e, t) { return Jr(t) || "false" === t ? "false" : "contenteditable" === e && Vr(t) ? t : "true" }, Kr = w("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"), Zr = "http://www.w3.org/1999/xlink", Yr = function (e) { return ":" === e.charAt(5) && "xlink" === e.slice(0, 5) }, Xr = function (e) { return Yr(e) ? e.slice(6, e.length) : "" }, Jr = function (e) { return null == e || !1 === e }; function Qr(e, t) { return { staticClass: ei(e.staticClass, t.staticClass), "class": l(e["class"]) ? [e["class"], t["class"]] : t["class"] } } function ei(e, t) { return e ? t ? e + " " + t : e : t || "" } function ti(e) { return Array.isArray(e) ? function (e) { for (var t, n = "", r = 0, i = e.length; r < i; r++)l(t = ti(e[r])) && "" !== t && (n && (n += " "), n += t); return n }(e) : h(e) ? function (e) { var t = ""; for (var n in e) e[n] && (t && (t += " "), t += n); return t }(e) : "string" == typeof e ? e : "" } var ni = { svg: "http://www.w3.org/2000/svg", math: "http://www.w3.org/1998/Math/MathML" }, ri = w("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"), ii = w("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0), oi = function (e) { return ri(e) || ii(e) }, ai = Object.create(null), si = w("text,number,password,search,email,tel,url"), ui = Object.freeze({ __proto__: null, createElement: function (e, t) { var n = document.createElement(e); return "select" !== e || t.data && t.data.attrs && void 0 !== t.data.attrs.multiple && n.setAttribute("multiple", "multiple"), n }, createElementNS: function (e, t) { return document.createElementNS(ni[e], t) }, createTextNode: function (e) { return document.createTextNode(e) }, createComment: function (e) { return document.createComment(e) }, insertBefore: function (e, t, n) { e.insertBefore(t, n) }, removeChild: function (e, t) { e.removeChild(t) }, appendChild: function (e, t) { e.appendChild(t) }, parentNode: function (e) { return e.parentNode }, nextSibling: function (e) { return e.nextSibling }, tagName: function (e) { return e.tagName }, setTextContent: function (e, t) { e.textContent = t }, setStyleScope: function (e, t) { e.setAttribute(t, "") } }), ci = { create: function (e, t) { li(t) }, update: function (e, t) { e.data.ref !== t.data.ref && (li(e, !0), li(t)) }, destroy: function (e) { li(e, !0) } }; function li(e, t) { var n = e.data.ref; if (l(n)) { var r = e.context, i = e.componentInstance || e.elm, o = t ? null : i, a = t ? void 0 : i; if (p(n)) en(n, r, [o], r, "template ref function"); else { var s = e.data.refInFor, c = "string" == typeof n || "number" == typeof n, d = Ve(n), f = r.$refs; if (c || d) if (s) { var h = c ? f[n] : n.value; t ? u(h) && x(h, i) : u(h) ? h.includes(i) || h.push(i) : c ? (f[n] = [i], di(r, n, f[n])) : n.value = [i] } else if (c) { if (t && f[n] !== i) return; f[n] = a, di(r, n, o) } else if (d) { if (t && n.value !== i) return; n.value = o } } } } function di(e, t, n) { var r = e._setupState; r && C(r, t) && (Ve(r[t]) ? r[t].value = n : r[t] = n) } var fi = new me("", {}, []), pi = ["create", "activate", "update", "remove", "destroy"]; function hi(e, t) { return e.key === t.key && e.asyncFactory === t.asyncFactory && (e.tag === t.tag && e.isComment === t.isComment && l(e.data) === l(t.data) && function (e, t) { if ("input" !== e.tag) return !0; var n, r = l(n = e.data) && l(n = n.attrs) && n.type, i = l(n = t.data) && l(n = n.attrs) && n.type; return r === i || si(r) && si(i) }(e, t) || d(e.isAsyncPlaceholder) && c(t.asyncFactory.error)) } function gi(e, t, n) { var r, i, o = {}; for (r = t; r <= n; ++r)l(i = e[r].key) && (o[i] = r); return o } var mi = { create: vi, update: vi, destroy: function (e) { vi(e, fi) } }; function vi(e, t) { (e.data.directives || t.data.directives) && function (e, t) { var n, r, i, o = e === fi, a = t === fi, s = yi(e.data.directives, e.context), u = yi(t.data.directives, t.context), c = [], l = []; for (n in u) r = s[n], i = u[n], r ? (i.oldValue = r.value, i.oldArg = r.arg, ki(i, "update", t, e), i.def && i.def.componentUpdated && l.push(i)) : (ki(i, "bind", t, e), i.def && i.def.inserted && c.push(i)); if (c.length) { var d = function () { for (var n = 0; n < c.length; n++)ki(c[n], "inserted", t, e) }; o ? gt(t, "insert", d) : d() } if (l.length && gt(t, "postpatch", (function () { for (var n = 0; n < l.length; n++)ki(l[n], "componentUpdated", t, e) })), !o) for (n in s) u[n] || ki(s[n], "unbind", e, e, a) }(e, t) } var _i = Object.create(null); function yi(e, t) { var n, r, i = Object.create(null); if (!e) return i; for (n = 0; n < e.length; n++) { if ((r = e[n]).modifiers || (r.modifiers = _i), i[bi(r)] = r, t._setupState && t._setupState.__sfc) { var o = r.def || br(t, "_setupState", "v-" + r.name); r.def = "function" == typeof o ? { bind: o, update: o } : o } r.def = r.def || br(t.$options, "directives", r.name) } return i } function bi(e) { return e.rawName || "".concat(e.name, ".").concat(Object.keys(e.modifiers || {}).join(".")) } function ki(e, t, n, r, i) { var o = e.def && e.def[t]; if (o) try { o(n.elm, e, n, r, i) } catch (r) { Qt(r, n.context, "directive ".concat(e.name, " ").concat(t, " hook")) } } var wi = [ci, mi]; function Ei(e, t) { var n = t.componentOptions; if (!(l(n) && !1 === n.Ctor.options.inheritAttrs || c(e.data.attrs) && c(t.data.attrs))) { var r, i, o = t.elm, a = e.data.attrs || {}, s = t.data.attrs || {}; for (r in (l(s.__ob__) || d(s._v_attr_proxy)) && (s = t.data.attrs = F({}, s)), s) i = s[r], a[r] !== i && xi(o, r, i, t.data.pre); for (r in (ee || ne) && s.value !== a.value && xi(o, "value", s.value), a) c(s[r]) && (Yr(r) ? o.removeAttributeNS(Zr, Xr(r)) : qr(r) || o.removeAttribute(r)) } } function xi(e, t, n, r) { r || e.tagName.indexOf("-") > -1 ? Ai(e, t, n) : Kr(t) ? Jr(n) ? e.removeAttribute(t) : (n = "allowfullscreen" === t && "EMBED" === e.tagName ? "true" : t, e.setAttribute(t, n)) : qr(t) ? e.setAttribute(t, Wr(t, n)) : Yr(t) ? Jr(n) ? e.removeAttributeNS(Zr, Xr(t)) : e.setAttributeNS(Zr, t, n) : Ai(e, t, n) } function Ai(e, t, n) { Jr(n) ? e.removeAttribute(t) : (!ee || te || "TEXTAREA" !== e.tagName || "placeholder" !== t || "" === n || e.__ieph || (e.addEventListener("input", (function r(t) { t.stopImmediatePropagation(), e.removeEventListener("input", r) })), e.__ieph = !0), e.setAttribute(t, n)) } var Ci = { create: Ei, update: Ei }; function Ii(e, t) { var n = t.elm, r = t.data, i = e.data; if (!(c(r.staticClass) && c(r["class"]) && (c(i) || c(i.staticClass) && c(i["class"])))) { var o = function (e) { for (var t = e.data, n = e, r = e; l(r.componentInstance);)(r = r.componentInstance._vnode) && r.data && (t = Qr(r.data, t)); for (; l(n = n.parent);)n && n.data && (t = Qr(t, n.data)); return function (e, t) { return l(e) || l(t) ? ei(e, ti(t)) : "" }(t.staticClass, t["class"]) }(t), a = n._transitionClasses; l(a) && (o = ei(o, ti(a))), o !== n._prevClass && (n.setAttribute("class", o), n._prevClass = o) } } var Di, Oi = { create: Ii, update: Ii }, Si = "__r", Ti = "__c"; function Mi(e, t, n) { var r = Di; return function i() { null !== t.apply(null, arguments) && Fi(e, i, n, r) } } var Ni = on && !(oe && Number(oe[1]) <= 53); function Pi(e, t, n, r) { if (Ni) { var i = Xn, o = t; t = o._wrapper = function (e) { if (e.target === e.currentTarget || e.timeStamp >= i || e.timeStamp <= 0 || e.target.ownerDocument !== document) return o.apply(this, arguments) } } Di.addEventListener(e, t, se ? { capture: n, passive: r } : n) } function Fi(e, t, n, r) { (r || Di).removeEventListener(e, t._wrapper || t, n) } function Li(e, t) { if (!c(e.data.on) || !c(t.data.on)) { var n = t.data.on || {}, r = e.data.on || {}; Di = t.elm || e.elm, function (e) { if (l(e[Si])) { var t = ee ? "change" : "input"; e[t] = [].concat(e[Si], e[t] || []), delete e[Si] } l(e[Ti]) && (e.change = [].concat(e[Ti], e.change || []), delete e[Ti]) }(n), ht(n, r, Pi, Fi, Mi, t.context), Di = void 0 } } var Ri, ji = { create: Li, update: Li, destroy: function (e) { return Li(e, fi) } }; function $i(e, t) { if (!c(e.data.domProps) || !c(t.data.domProps)) { var n, r, i = t.elm, o = e.data.domProps || {}, a = t.data.domProps || {}; for (n in (l(a.__ob__) || d(a._v_attr_proxy)) && (a = t.data.domProps = F({}, a)), o) n in a || (i[n] = ""); for (n in a) { if (r = a[n], "textContent" === n || "innerHTML" === n) { if (t.children && (t.children.length = 0), r === o[n]) continue; 1 === i.childNodes.length && i.removeChild(i.childNodes[0]) } if ("value" === n && "PROGRESS" !== i.tagName) { i._value = r; var s = c(r) ? "" : String(r); Ui(i, s) && (i.value = s) } else if ("innerHTML" === n && ii(i.tagName) && c(i.innerHTML)) { (Ri = Ri || document.createElement("div")).innerHTML = "".concat(r, " "); for (var u = Ri.firstChild; i.firstChild;)i.removeChild(i.firstChild); for (; u.firstChild;)i.appendChild(u.firstChild) } else if (r !== o[n]) try { i[n] = r } catch (e) { } } } } function Ui(e, t) { return !e.composing && ("OPTION" === e.tagName || function (e, t) { var n = !0; try { n = document.activeElement !== e } catch (e) { } return n && e.value !== t }(e, t) || function (e, t) { var n = e.value, r = e._vModifiers; if (l(r)) { if (r.number) return k(n) !== k(t); if (r.trim) return n.trim() !== t.trim() } return n !== t }(e, t)) } var Bi = { create: $i, update: $i }, Gi = I((function (e) { var t = {}, n = /:(.+)/; return e.split(/;(?![^(]*\))/g).forEach((function (e) { if (e) { var r = e.split(n); r.length > 1 && (t[r[0].trim()] = r[1].trim()) } })), t })); function zi(e) { var t = Hi(e.style); return e.staticStyle ? F(e.staticStyle, t) : t } function Hi(e) { return Array.isArray(e) ? L(e) : "string" == typeof e ? Gi(e) : e } var qi, Vi = /^--/, Wi = /\s*!important$/, Ki = function (e, t, n) { if (Vi.test(t)) e.style.setProperty(t, n); else if (Wi.test(n)) e.style.setProperty(M(t), n.replace(Wi, ""), "important"); else { var r = Yi(t); if (Array.isArray(n)) for (var i = 0, o = n.length; i < o; i++)e.style[r] = n[i]; else e.style[r] = n } }, Zi = ["Webkit", "Moz", "ms"], Yi = I((function (e) { if (qi = qi || document.createElement("div").style, "filter" !== (e = O(e)) && e in qi) return e; for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < Zi.length; n++) { var r = Zi[n] + t; if (r in qi) return r } })); function Xi(e, t) { var n = t.data, r = e.data; if (!(c(n.staticStyle) && c(n.style) && c(r.staticStyle) && c(r.style))) { var i, o, a = t.elm, s = r.staticStyle, u = r.normalizedStyle || r.style || {}, d = s || u, f = Hi(t.data.style) || {}; t.data.normalizedStyle = l(f.__ob__) ? F({}, f) : f; var p = function (e, t) { for (var n, r = {}, i = e; i.componentInstance;)(i = i.componentInstance._vnode) && i.data && (n = zi(i.data)) && F(r, n); (n = zi(e.data)) && F(r, n); for (var o = e; o = o.parent;)o.data && (n = zi(o.data)) && F(r, n); return r }(t); for (o in d) c(p[o]) && Ki(a, o, ""); for (o in p) i = p[o], Ki(a, o, null == i ? "" : i) } } var Ji = { create: Xi, update: Xi }, Qi = /\s+/; function eo(e, t) { if (t && (t = t.trim())) if (e.classList) t.indexOf(" ") > -1 ? t.split(Qi).forEach((function (t) { return e.classList.add(t) })) : e.classList.add(t); else { var n = " ".concat(e.getAttribute("class") || "", " "); n.indexOf(" " + t + " ") < 0 && e.setAttribute("class", (n + t).trim()) } } function to(e, t) { if (t && (t = t.trim())) if (e.classList) t.indexOf(" ") > -1 ? t.split(Qi).forEach((function (t) { return e.classList.remove(t) })) : e.classList.remove(t), e.classList.length || e.removeAttribute("class"); else { for (var n = " ".concat(e.getAttribute("class") || "", " "), r = " " + t + " "; n.indexOf(r) >= 0;)n = n.replace(r, " "); (n = n.trim()) ? e.setAttribute("class", n) : e.removeAttribute("class") } } function no(e) { if (e) { if ("object" == (0, a["default"])(e)) { var t = {}; return !1 !== e.css && F(t, ro(e.name || "v")), F(t, e), t } return "string" == typeof e ? ro(e) : void 0 } } var ro = I((function (e) { return { enterClass: "".concat(e, "-enter"), enterToClass: "".concat(e, "-enter-to"), enterActiveClass: "".concat(e, "-enter-active"), leaveClass: "".concat(e, "-leave"), leaveToClass: "".concat(e, "-leave-to"), leaveActiveClass: "".concat(e, "-leave-active") } })), io = J && !te, oo = "transition", ao = "animation", so = "transition", uo = "transitionend", co = "animation", lo = "animationend"; io && (void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && (so = "WebkitTransition", uo = "webkitTransitionEnd"), void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && (co = "WebkitAnimation", lo = "webkitAnimationEnd")); var fo = J ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout : function (e) { return e() }; function po(e) { fo((function () { fo(e) })) } function ho(e, t) { var n = e._transitionClasses || (e._transitionClasses = []); n.indexOf(t) < 0 && (n.push(t), eo(e, t)) } function go(e, t) { e._transitionClasses && x(e._transitionClasses, t), to(e, t) } function mo(e, t, n) { var r = _o(e, t), i = r.type, o = r.timeout, a = r.propCount; if (!i) return n(); var s = i === oo ? uo : lo, u = 0, c = function () { e.removeEventListener(s, l), n() }, l = function (t) { t.target === e && ++u >= a && c() }; setTimeout((function () { u < a && c() }), o + 1), e.addEventListener(s, l) } var vo = /\b(transform|all)(,|$)/; function _o(e, t) { var n, r = window.getComputedStyle(e), i = (r[so + "Delay"] || "").split(", "), o = (r[so + "Duration"] || "").split(", "), a = yo(i, o), s = (r[co + "Delay"] || "").split(", "), u = (r[co + "Duration"] || "").split(", "), c = yo(s, u), l = 0, d = 0; return t === oo ? a > 0 && (n = oo, l = a, d = o.length) : t === ao ? c > 0 && (n = ao, l = c, d = u.length) : d = (n = (l = Math.max(a, c)) > 0 ? a > c ? oo : ao : null) ? n === oo ? o.length : u.length : 0, { type: n, timeout: l, propCount: d, hasTransform: n === oo && vo.test(r[so + "Property"]) } } function yo(e, t) { for (; e.length < t.length;)e = e.concat(e); return Math.max.apply(null, t.map((function (t, n) { return bo(t) + bo(e[n]) }))) } function bo(e) { return 1e3 * Number(e.slice(0, -1).replace(",", ".")) } function ko(e, t) { var n = e.elm; l(n._leaveCb) && (n._leaveCb.cancelled = !0, n._leaveCb()); var r = no(e.data.transition); if (!c(r) && !l(n._enterCb) && 1 === n.nodeType) { for (var i = r.css, o = r.type, a = r.enterClass, s = r.enterToClass, u = r.enterActiveClass, d = r.appearClass, f = r.appearToClass, g = r.appearActiveClass, m = r.beforeEnter, v = r.enter, _ = r.afterEnter, y = r.enterCancelled, b = r.beforeAppear, w = r.appear, E = r.afterAppear, x = r.appearCancelled, A = r.duration, C = $n, I = $n.$vnode; I && I.parent;)C = I.context, I = I.parent; var D = !C._isMounted || !e.isRootInsert; if (!D || w || "" === w) { var O = D && d ? d : a, S = D && g ? g : u, T = D && f ? f : s, M = D && b || m, N = D && p(w) ? w : v, P = D && E || _, F = D && x || y, L = k(h(A) ? A.enter : A), R = !1 !== i && !te, j = xo(N), $ = n._enterCb = G((function () { R && (go(n, T), go(n, S)), $.cancelled ? (R && go(n, O), F && F(n)) : P && P(n), n._enterCb = null })); e.data.show || gt(e, "insert", (function () { var t = n.parentNode, r = t && t._pending && t._pending[e.key]; r && r.tag === e.tag && r.elm._leaveCb && r.elm._leaveCb(), N && N(n, $) })), M && M(n), R && (ho(n, O), ho(n, S), po((function () { go(n, O), $.cancelled || (ho(n, T), j || (Eo(L) ? setTimeout($, L) : mo(n, o, $))) }))), e.data.show && (t && t(), N && N(n, $)), R || j || $() } } } function wo(e, t) { var n = e.elm; l(n._enterCb) && (n._enterCb.cancelled = !0, n._enterCb()); var r = no(e.data.transition); if (c(r) || 1 !== n.nodeType) return t(); if (!l(n._leaveCb)) { var i = r.css, o = r.type, a = r.leaveClass, s = r.leaveToClass, u = r.leaveActiveClass, d = r.beforeLeave, f = r.leave, p = r.afterLeave, g = r.leaveCancelled, m = r.delayLeave, v = r.duration, _ = !1 !== i && !te, y = xo(f), b = k(h(v) ? v.leave : v), w = n._leaveCb = G((function () { n.parentNode && n.parentNode._pending && (n.parentNode._pending[e.key] = null), _ && (go(n, s), go(n, u)), w.cancelled ? (_ && go(n, a), g && g(n)) : (t(), p && p(n)), n._leaveCb = null })); m ? m(E) : E() } function E() { w.cancelled || (!e.data.show && n.parentNode && ((n.parentNode._pending || (n.parentNode._pending = {}))[e.key] = e), d && d(n), _ && (ho(n, a), ho(n, u), po((function () { go(n, a), w.cancelled || (ho(n, s), y || (Eo(b) ? setTimeout(w, b) : mo(n, o, w))) }))), f && f(n, w), _ || y || w()) } } function Eo(e) { return "number" == typeof e && !isNaN(e) } function xo(e) { if (c(e)) return !1; var t = e.fns; return l(t) ? xo(Array.isArray(t) ? t[0] : t) : (e._length || e.length) > 1 } function Ao(e, t) { !0 !== t.data.show && ko(t) } var Co = function (e) { var t, n, r = {}, i = e.modules, o = e.nodeOps; for (t = 0; t < pi.length; ++t)for (r[pi[t]] = [], n = 0; n < i.length; ++n)l(i[n][pi[t]]) && r[pi[t]].push(i[n][pi[t]]); function a(e) { var t = o.parentNode(e); l(t) && o.removeChild(t, e) } function s(e, t, n, i, a, s, u) { if (l(e.elm) && l(s) && (e = s[u] = ye(e)), e.isRootInsert = !a, !function (e, t, n, i) { var o = e.data; if (l(o)) { var a = l(e.componentInstance) && o.keepAlive; if (l(o = o.hook) && l(o = o.init) && o(e, !1), l(e.componentInstance)) return p(e, t), h(n, e.elm, i), d(a) && function (e, t, n, i) { for (var o, a = e; a.componentInstance;)if (l(o = (a = a.componentInstance._vnode).data) && l(o = o.transition)) { for (o = 0; o < r.activate.length; ++o)r.activate[o](fi, a); t.push(a); break } h(n, e.elm, i) }(e, t, n, i), !0 } }(e, t, n, i)) { var c = e.data, f = e.children, m = e.tag; l(m) ? (e.elm = e.ns ? o.createElementNS(e.ns, m) : o.createElement(m, e), _(e), g(e, f, t), l(c) && v(e, t), h(n, e.elm, i)) : d(e.isComment) ? (e.elm = o.createComment(e.text), h(n, e.elm, i)) : (e.elm = o.createTextNode(e.text), h(n, e.elm, i)) } } function p(e, t) { l(e.data.pendingInsert) && (t.push.apply(t, e.data.pendingInsert), e.data.pendingInsert = null), e.elm = e.componentInstance.$el, m(e) ? (v(e, t), _(e)) : (li(e), t.push(e)) } function h(e, t, n) { l(e) && (l(n) ? o.parentNode(n) === e && o.insertBefore(e, t, n) : o.appendChild(e, t)) } function g(e, t, n) { if (u(t)) for (var r = 0; r < t.length; ++r)s(t[r], n, e.elm, null, !0, t, r); else f(e.text) && o.appendChild(e.elm, o.createTextNode(String(e.text))) } function m(e) { for (; e.componentInstance;)e = e.componentInstance._vnode; return l(e.tag) } function v(e, n) { for (var i = 0; i < r.create.length; ++i)r.create[i](fi, e); l(t = e.data.hook) && (l(t.create) && t.create(fi, e), l(t.insert) && n.push(e)) } function _(e) { var t; if (l(t = e.fnScopeId)) o.setStyleScope(e.elm, t); else for (var n = e; n;)l(t = n.context) && l(t = t.$options._scopeId) && o.setStyleScope(e.elm, t), n = n.parent; l(t = $n) && t !== e.context && t !== e.fnContext && l(t = t.$options._scopeId) && o.setStyleScope(e.elm, t) } function y(e, t, n, r, i, o) { for (; r <= i; ++r)s(n[r], o, e, t, !1, n, r) } function b(e) { var t, n, i = e.data; if (l(i)) for (l(t = i.hook) && l(t = t.destroy) && t(e), t = 0; t < r.destroy.length; ++t)r.destroy[t](e); if (l(t = e.children)) for (n = 0; n < e.children.length; ++n)b(e.children[n]) } function k(e, t, n) { for (; t <= n; ++t) { var r = e[t]; l(r) && (l(r.tag) ? (E(r), b(r)) : a(r.elm)) } } function E(e, t) { if (l(t) || l(e.data)) { var n, i = r.remove.length + 1; for (l(t) ? t.listeners += i : t = function (e, t) { function n() { 0 == --n.listeners && a(e) } return n.listeners = t, n }(e.elm, i), l(n = e.componentInstance) && l(n = n._vnode) && l(n.data) && E(n, t), n = 0; n < r.remove.length; ++n)r.remove[n](e, t); l(n = e.data.hook) && l(n = n.remove) ? n(e, t) : t() } else a(e.elm) } function x(e, t, n, r) { for (var i = n; i < r; i++) { var o = t[i]; if (l(o) && hi(e, o)) return i } } function A(e, t, n, i, a, u) { if (e !== t) { l(t.elm) && l(i) && (t = i[a] = ye(t)); var f = t.elm = e.elm; if (d(e.isAsyncPlaceholder)) l(t.asyncFactory.resolved) ? D(e.elm, t, n) : t.isAsyncPlaceholder = !0; else if (d(t.isStatic) && d(e.isStatic) && t.key === e.key && (d(t.isCloned) || d(t.isOnce))) t.componentInstance = e.componentInstance; else { var p, h = t.data; l(h) && l(p = h.hook) && l(p = p.prepatch) && p(e, t); var g = e.children, v = t.children; if (l(h) && m(t)) { for (p = 0; p < r.update.length; ++p)r.update[p](e, t); l(p = h.hook) && l(p = p.update) && p(e, t) } c(t.text) ? l(g) && l(v) ? g !== v && function (e, t, n, r, i) { for (var a, u, d, f = 0, p = 0, h = t.length - 1, g = t[0], m = t[h], v = n.length - 1, _ = n[0], b = n[v], w = !i; f <= h && p <= v;)c(g) ? g = t[++f] : c(m) ? m = t[--h] : hi(g, _) ? (A(g, _, r, n, p), g = t[++f], _ = n[++p]) : hi(m, b) ? (A(m, b, r, n, v), m = t[--h], b = n[--v]) : hi(g, b) ? (A(g, b, r, n, v), w && o.insertBefore(e, g.elm, o.nextSibling(m.elm)), g = t[++f], b = n[--v]) : hi(m, _) ? (A(m, _, r, n, p), w && o.insertBefore(e, m.elm, g.elm), m = t[--h], _ = n[++p]) : (c(a) && (a = gi(t, f, h)), c(u = l(_.key) ? a[_.key] : x(_, t, f, h)) ? s(_, r, e, g.elm, !1, n, p) : hi(d = t[u], _) ? (A(d, _, r, n, p), t[u] = void 0, w && o.insertBefore(e, d.elm, g.elm)) : s(_, r, e, g.elm, !1, n, p), _ = n[++p]); f > h ? y(e, c(n[v + 1]) ? null : n[v + 1].elm, n, p, v, r) : p > v && k(t, f, h) }(f, g, v, n, u) : l(v) ? (l(e.text) && o.setTextContent(f, ""), y(f, null, v, 0, v.length - 1, n)) : l(g) ? k(g, 0, g.length - 1) : l(e.text) && o.setTextContent(f, "") : e.text !== t.text && o.setTextContent(f, t.text), l(h) && l(p = h.hook) && l(p = p.postpatch) && p(e, t) } } } function C(e, t, n) { if (d(n) && l(e.parent)) e.parent.data.pendingInsert = t; else for (var r = 0; r < t.length; ++r)t[r].data.hook.insert(t[r]) } var I = w("attrs,class,staticClass,staticStyle,key"); function D(e, t, n, r) { var i, o = t.tag, a = t.data, s = t.children; if (r = r || a && a.pre, t.elm = e, d(t.isComment) && l(t.asyncFactory)) return t.isAsyncPlaceholder = !0, !0; if (l(a) && (l(i = a.hook) && l(i = i.init) && i(t, !0), l(i = t.componentInstance))) return p(t, n), !0; if (l(o)) { if (l(s)) if (e.hasChildNodes()) if (l(i = a) && l(i = i.domProps) && l(i = i.innerHTML)) { if (i !== e.innerHTML) return !1 } else { for (var u = !0, c = e.firstChild, f = 0; f < s.length; f++) { if (!c || !D(c, s[f], n, r)) { u = !1; break } c = c.nextSibling } if (!u || c) return !1 } else g(t, s, n); if (l(a)) { var h = !1; for (var m in a) if (!I(m)) { h = !0, v(t, n); break } !h && a["class"] && Sn(a["class"]) } } else e.data !== t.text && (e.data = t.text); return !0 } return function (e, t, n, i) { if (!c(t)) { var a, u = !1, f = []; if (c(e)) u = !0, s(t, f); else { var p = l(e.nodeType); if (!p && hi(e, t)) A(e, t, f, null, null, i); else { if (p) { if (1 === e.nodeType && e.hasAttribute(H) && (e.removeAttribute(H), n = !0), d(n) && D(e, t, f)) return C(t, f, !0), e; a = e, e = new me(o.tagName(a).toLowerCase(), {}, [], void 0, a) } var h = e.elm, g = o.parentNode(h); if (s(t, f, h._leaveCb ? null : g, o.nextSibling(h)), l(t.parent)) for (var v = t.parent, _ = m(t); v;) { for (var y = 0; y < r.destroy.length; ++y)r.destroy[y](v); if (v.elm = t.elm, _) { for (var w = 0; w < r.create.length; ++w)r.create[w](fi, v); var E = v.data.hook.insert; if (E.merged) for (var x = E.fns.slice(1), I = 0; I < x.length; I++)x[I]() } else li(v); v = v.parent } l(g) ? k([e], 0, 0) : l(e.tag) && b(e) } } return C(t, f, u), t.elm } l(e) && b(e) } }({ nodeOps: ui, modules: [Ci, Oi, ji, Bi, Ji, J ? { create: Ao, activate: Ao, remove: function (e, t) { !0 !== e.data.show ? wo(e, t) : t() } } : {}].concat(wi) }); te && document.addEventListener("selectionchange", (function () { var e = document.activeElement; e && e.vmodel && Po(e, "input") })); var Io = { inserted: function (e, t, n, r) { "select" === n.tag ? (r.elm && !r.elm._vOptions ? gt(n, "postpatch", (function () { Io.componentUpdated(e, t, n) })) : Do(e, t, n.context), e._vOptions = [].map.call(e.options, To)) : ("textarea" === n.tag || si(e.type)) && (e._vModifiers = t.modifiers, t.modifiers.lazy || (e.addEventListener("compositionstart", Mo), e.addEventListener("compositionend", No), e.addEventListener("change", No), te && (e.vmodel = !0))) }, componentUpdated: function (e, t, n) { if ("select" === n.tag) { Do(e, t, n.context); var r = e._vOptions, i = e._vOptions = [].map.call(e.options, To); i.some((function (e, t) { return !U(e, r[t]) })) && (e.multiple ? t.value.some((function (e) { return So(e, i) })) : t.value !== t.oldValue && So(t.value, i)) && Po(e, "change") } } }; function Do(e, t, n) { Oo(e, t), (ee || ne) && setTimeout((function () { Oo(e, t) }), 0) } function Oo(e, t, n) { var r = t.value, i = e.multiple; if (!i || Array.isArray(r)) { for (var o, a, s = 0, u = e.options.length; s < u; s++)if (a = e.options[s], i) o = B(r, To(a)) > -1, a.selected !== o && (a.selected = o); else if (U(To(a), r)) return void (e.selectedIndex !== s && (e.selectedIndex = s)); i || (e.selectedIndex = -1) } } function So(e, t) { return t.every((function (t) { return !U(t, e) })) } function To(e) { return "_value" in e ? e._value : e.value } function Mo(e) { e.target.composing = !0 } function No(e) { e.target.composing && (e.target.composing = !1, Po(e.target, "input")) } function Po(e, t) { var n = document.createEvent("HTMLEvents"); n.initEvent(t, !0, !0), e.dispatchEvent(n) } function Fo(e) { return !e.componentInstance || e.data && e.data.transition ? e : Fo(e.componentInstance._vnode) } var Lo = { bind: function (e, t, n) { var r = t.value, i = (n = Fo(n)).data && n.data.transition, o = e.__vOriginalDisplay = "none" === e.style.display ? "" : e.style.display; r && i ? (n.data.show = !0, ko(n, (function () { e.style.display = o }))) : e.style.display = r ? o : "none" }, update: function (e, t, n) { var r = t.value; !r != !t.oldValue && ((n = Fo(n)).data && n.data.transition ? (n.data.show = !0, r ? ko(n, (function () { e.style.display = e.__vOriginalDisplay })) : wo(n, (function () { e.style.display = "none" }))) : e.style.display = r ? e.__vOriginalDisplay : "none") }, unbind: function (e, t, n, r, i) { i || (e.style.display = e.__vOriginalDisplay) } }, Ro = { model: Io, show: Lo }, jo = { name: String, appear: Boolean, css: Boolean, mode: String, type: String, enterClass: String, leaveClass: String, enterToClass: String, leaveToClass: String, enterActiveClass: String, leaveActiveClass: String, appearClass: String, appearActiveClass: String, appearToClass: String, duration: [Number, String, Object] }; function $o(e) { var t = e && e.componentOptions; return t && t.Ctor.options.abstract ? $o(Kt(t.children)) : e } function Uo(e) { var t = {}, n = e.$options; for (var r in n.propsData) t[r] = e[r]; var i = n._parentListeners; for (var o in i) t[O(o)] = i[o]; return t } function Bo(e, t) { if (/\d-keep-alive$/.test(t.tag)) return e("keep-alive", { props: t.componentOptions.propsData }) } var Go = function (e) { return e.tag || Rt(e) }, zo = function (e) { return "show" === e.name }, Ho = { name: "transition", props: jo, abstract: !0, render: function (e) { var t = this, n = this.$slots["default"]; if (n && (n = n.filter(Go)).length) { var r = this.mode, i = n[0]; if (function (e) { for (; e = e.parent;)if (e.data.transition) return !0 }(this.$vnode)) return i; var o = $o(i); if (!o) return i; if (this._leaving) return Bo(e, i); var a = "__transition-".concat(this._uid, "-"); o.key = null == o.key ? o.isComment ? a + "comment" : a + o.tag : f(o.key) ? 0 === String(o.key).indexOf(a) ? o.key : a + o.key : o.key; var s = (o.data || (o.data = {})).transition = Uo(this), u = this._vnode, c = $o(u); if (o.data.directives && o.data.directives.some(zo) && (o.data.show = !0), c && c.data && !function (e, t) { return t.key === e.key && t.tag === e.tag }(o, c) && !Rt(c) && (!c.componentInstance || !c.componentInstance._vnode.isComment)) { var l = c.data.transition = F({}, s); if ("out-in" === r) return this._leaving = !0, gt(l, "afterLeave", (function () { t._leaving = !1, t.$forceUpdate() })), Bo(e, i); if ("in-out" === r) { if (Rt(o)) return u; var d, p = function () { d() }; gt(s, "afterEnter", p), gt(s, "enterCancelled", p), gt(l, "delayLeave", (function (e) { d = e })) } } return i } } }, qo = F({ tag: String, moveClass: String }, jo); delete qo.mode; var Vo = { props: qo, beforeMount: function () { var e = this, t = this._update; this._update = function (n, r) { var i = Un(e); e.__patch__(e._vnode, e.kept, !1, !0), e._vnode = e.kept, i(), t.call(e, n, r) } }, render: function (e) { for (var t = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), r = this.prevChildren = this.children, i = this.$slots["default"] || [], o = this.children = [], a = Uo(this), s = 0; s < i.length; s++) { var u = i[s]; u.tag && null != u.key && 0 !== String(u.key).indexOf("__vlist") && (o.push(u), n[u.key] = u, (u.data || (u.data = {})).transition = a) } if (r) { for (var c = [], l = [], d = 0; d < r.length; d++) { var f = r[d]; f.data.transition = a, f.data.pos = f.elm.getBoundingClientRect(), n[f.key] ? c.push(f) : l.push(f) } this.kept = e(t, null, c), this.removed = l } return e(t, null, o) }, updated: function () { var e = this.prevChildren, t = this.moveClass || (this.name || "v") + "-move"; e.length && this.hasMove(e[0].elm, t) && (e.forEach(Wo), e.forEach(Ko), e.forEach(Zo), this._reflow = document.body.offsetHeight, e.forEach((function (e) { if (e.data.moved) { var n = e.elm, r = n.style; ho(n, t), r.transform = r.WebkitTransform = r.transitionDuration = "", n.addEventListener(uo, n._moveCb = function i(e) { e && e.target !== n || e && !/transform$/.test(e.propertyName) || (n.removeEventListener(uo, i), n._moveCb = null, go(n, t)) }) } }))) }, methods: { hasMove: function (e, t) { if (!io) return !1; if (this._hasMove) return this._hasMove; var n = e.cloneNode(); e._transitionClasses && e._transitionClasses.forEach((function (e) { to(n, e) })), eo(n, t), n.style.display = "none", this.$el.appendChild(n); var r = _o(n); return this.$el.removeChild(n), this._hasMove = r.hasTransform } } }; function Wo(e) { e.elm._moveCb && e.elm._moveCb(), e.elm._enterCb && e.elm._enterCb() } function Ko(e) { e.data.newPos = e.elm.getBoundingClientRect() } function Zo(e) { var t = e.data.pos, n = e.data.newPos, r = t.left - n.left, i = t.top - n.top; if (r || i) { e.data.moved = !0; var o = e.elm.style; o.transform = o.WebkitTransform = "translate(".concat(r, "px,").concat(i, "px)"), o.transitionDuration = "0s" } } var Yo = { Transition: Ho, TransitionGroup: Vo }; Lr.config.mustUseProp = function (e, t, n) { return "value" === n && Hr(e) && "button" !== t || "selected" === n && "option" === e || "checked" === n && "input" === e || "muted" === n && "video" === e }, Lr.config.isReservedTag = oi, Lr.config.isReservedAttr = zr, Lr.config.getTagNamespace = function (e) { return ii(e) ? "svg" : "math" === e ? "math" : void 0 }, Lr.config.isUnknownElement = function (e) { if (!J) return !0; if (oi(e)) return !1; if (e = e.toLowerCase(), null != ai[e]) return ai[e]; var t = document.createElement(e); return e.indexOf("-") > -1 ? ai[e] = t.constructor === window.HTMLUnknownElement || t.constructor === window.HTMLElement : ai[e] = /HTMLUnknownElement/.test(t.toString()) }, F(Lr.options.directives, Ro), F(Lr.options.components, Yo), Lr.prototype.__patch__ = J ? Co : R, Lr.prototype.$mount = function (e, t) { return function (e, t, n) { var r; e.$el = t, e.$options.render || (e.$options.render = ve), Hn(e, "beforeMount"), r = function () { e._update(e._render(), n) }, new Pn(e, r, R, { before: function () { e._isMounted && !e._isDestroyed && Hn(e, "beforeUpdate") } }, !0), n = !1; var i = e._preWatchers; if (i) for (var o = 0; o < i.length; o++)i[o].run(); return null == e.$vnode && (e._isMounted = !0, Hn(e, "mounted")), e }(this, e = e && J ? function (e) { return "string" == typeof e ? document.querySelector(e) || document.createElement("div") : e }(e) : void 0, t) }, J && setTimeout((function () { W.devtools && le && le.emit("init", Lr) }), 0), F(Lr, Dn), e.exports = Lr }, 354: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Lexer = void 0; var i = r(n(5272)), o = r(n(8946)), a = n(7444), s = n(1498), u = n(8614), c = n(4651); function l(e) { return e.replace(/---/g, "—").replace(/--/g, "–").replace(/(^|[-\u2014/(\[{"\s])'/g, "$1‘").replace(/'/g, "’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1“").replace(/"/g, "”").replace(/\.{3}/g, "…") } function d(e) { var t, n, r = "", i = e.length; for (t = 0; t < i; t++)n = e.charCodeAt(t), Math.random() > .5 && (n = "x" + n.toString(16)), r += "" + n + ";"; return r } t.Lexer = function () { function e(t) { (0, i["default"])(this, e), this.tokens = [], this.tokens.links = Object.create(null), this.options = t || s.defaults, this.options.tokenizer = this.options.tokenizer || new a.Tokenizer, this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 }; var n = { block: u.block.normal, inline: u.inline.normal }; this.options.pedantic ? (n.block = u.block.pedantic, n.inline = u.inline.pedantic) : this.options.gfm && (n.block = u.block.gfm, this.options.breaks ? n.inline = u.inline.breaks : n.inline = u.inline.gfm), this.tokenizer.rules = n } return (0, o["default"])(e, [{ key: "lex", value: function (e) { var t; for (e = e.replace(/\r\n|\r/g, "\n").replace(/\t/g, " "), this.blockTokens(e, this.tokens); t = this.inlineQueue.shift();)this.inlineTokens(t.src, t.tokens); return this.tokens } }, { key: "blockTokens", value: function (e) { var t, n, r, i, o = this, a = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; this.options.pedantic && (e = e.replace(/^ +$/gm, "")); for (var s, u = function () { if (o.options.extensions && o.options.extensions.block && o.options.extensions.block.some((function (n) { return !!(t = n.call({ lexer: o }, e, a)) && (e = e.substring(t.raw.length), a.push(t), !0) }))) return 0; if (t = o.tokenizer.space(e)) return e = e.substring(t.raw.length), 1 === t.raw.length && a.length > 0 ? a[a.length - 1].raw += "\n" : a.push(t), 0; if (t = o.tokenizer.code(e)) return e = e.substring(t.raw.length), !(n = a[a.length - 1]) || "paragraph" !== n.type && "text" !== n.type ? a.push(t) : (n.raw += "\n" + t.raw, n.text += "\n" + t.text, o.inlineQueue[o.inlineQueue.length - 1].src = n.text), 0; if (t = o.tokenizer.fences(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.heading(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.hr(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.blockquote(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.list(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.html(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.def(e)) return e = e.substring(t.raw.length), !(n = a[a.length - 1]) || "paragraph" !== n.type && "text" !== n.type ? o.tokens.links[t.tag] || (o.tokens.links[t.tag] = { href: t.href, title: t.title }) : (n.raw += "\n" + t.raw, n.text += "\n" + t.raw, o.inlineQueue[o.inlineQueue.length - 1].src = n.text), 0; if (t = o.tokenizer.table(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (t = o.tokenizer.lheading(e)) return e = e.substring(t.raw.length), a.push(t), 0; if (r = e, o.options.extensions && o.options.extensions.startBlock) { var s, u = Infinity, c = e.slice(1); o.options.extensions.startBlock.forEach((function (e) { "number" == typeof (s = e.call({ lexer: this }, c)) && s >= 0 && (u = Math.min(u, s)) })), u < Infinity && u >= 0 && (r = e.substring(0, u + 1)) } if (o.state.top && (t = o.tokenizer.paragraph(r))) return n = a[a.length - 1], i && "paragraph" === n.type ? (n.raw += "\n" + t.raw, n.text += "\n" + t.text, o.inlineQueue.pop(), o.inlineQueue[o.inlineQueue.length - 1].src = n.text) : a.push(t), i = r.length !== e.length, e = e.substring(t.raw.length), 0; if (t = o.tokenizer.text(e)) return e = e.substring(t.raw.length), (n = a[a.length - 1]) && "text" === n.type ? (n.raw += "\n" + t.raw, n.text += "\n" + t.text, o.inlineQueue.pop(), o.inlineQueue[o.inlineQueue.length - 1].src = n.text) : a.push(t), 0; if (e) { var l = "Infinite loop on byte: " + e.charCodeAt(0); if (o.options.silent) return console.error(l), 1; throw new Error(l) } }; e && (0 === (s = u()) || 1 !== s);); return this.state.top = !0, a } }, { key: "inline", value: function (e, t) { this.inlineQueue.push({ src: e, tokens: t }) } }, { key: "inlineTokens", value: function (e) { var t, n, r, i, o, a, s = this, u = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [], f = e; if (this.tokens.links) { var p = Object.keys(this.tokens.links); if (p.length > 0) for (; null != (i = this.tokenizer.rules.inline.reflinkSearch.exec(f));)p.includes(i[0].slice(i[0].lastIndexOf("[") + 1, -1)) && (f = f.slice(0, i.index) + "[" + (0, c.repeatString)("a", i[0].length - 2) + "]" + f.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)) } for (; null != (i = this.tokenizer.rules.inline.blockSkip.exec(f));)f = f.slice(0, i.index) + "[" + (0, c.repeatString)("a", i[0].length - 2) + "]" + f.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); for (; null != (i = this.tokenizer.rules.inline.escapedEmSt.exec(f));)f = f.slice(0, i.index) + "++" + f.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex); for (var h, g = function () { if (o || (a = ""), o = !1, t = s.tokenizer.owo(e)) return e = e.substring(t.raw.length), t.type && u.push(t), 0; if (s.options.extensions && s.options.extensions.inline && s.options.extensions.inline.some((function (n) { return !!(t = n.call({ lexer: s }, e, u)) && (e = e.substring(t.raw.length), u.push(t), !0) }))) return 0; if (t = s.tokenizer.escape(e)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.tag(e)) return e = e.substring(t.raw.length), (n = u[u.length - 1]) && "text" === t.type && "text" === n.type ? (n.raw += t.raw, n.text += t.text) : u.push(t), 0; if (t = s.tokenizer.link(e)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.reflink(e, s.tokens.links)) return e = e.substring(t.raw.length), (n = u[u.length - 1]) && "text" === t.type && "text" === n.type ? (n.raw += t.raw, n.text += t.text) : u.push(t), 0; if (t = s.tokenizer.emStrong(e, f, a)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.codespan(e)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.br(e)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.del(e)) return e = e.substring(t.raw.length), u.push(t), 0; if (t = s.tokenizer.autolink(e, d)) return e = e.substring(t.raw.length), u.push(t), 0; if (!s.state.inLink && (t = s.tokenizer.url(e, d))) return e = e.substring(t.raw.length), u.push(t), 0; if (r = e, s.options.extensions && s.options.extensions.startInline) { var i, c = Infinity, p = e.slice(1); s.options.extensions.startInline.forEach((function (e) { "number" == typeof (i = e.call({ lexer: this }, p)) && i >= 0 && (c = Math.min(c, i)) })), c < Infinity && c >= 0 && (r = e.substring(0, c + 1)) } if (t = s.tokenizer.inlineText(r, l)) return e = e.substring(t.raw.length), "_" !== t.raw.slice(-1) && (a = t.raw.slice(-1)), o = !0, (n = u[u.length - 1]) && "text" === n.type ? (n.raw += t.raw, n.text += t.text) : u.push(t), 0; if (e) { var h = "Infinite loop on byte: " + e.charCodeAt(0); if (s.options.silent) return console.error(h), 1; throw new Error(h) } }; e && (0 === (h = g()) || 1 !== h);); return u } }], [{ key: "rules", get: function () { return { block: u.block, inline: u.inline } } }, { key: "lex", value: function (t, n) { return new e(n).lex(t) } }, { key: "lexInline", value: function (t, n) { return new e(n).inlineTokens(t) } }]), e }() }, 5559: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Parser = void 0; var i = r(n(5272)), o = r(n(8946)), a = n(1380), s = n(3691), u = n(7322), c = n(1498), l = n(4651); t.Parser = function () { function e(t) { (0, i["default"])(this, e), this.options = t || c.defaults, this.options.renderer = this.options.renderer || new a.Renderer, this.renderer = this.options.renderer, this.renderer.options = this.options, this.textRenderer = new s.TextRenderer, this.slugger = new u.Slugger } return (0, o["default"])(e, [{ key: "parse", value: function (e) { var t, n, r, i, o, a, s, u, c, d, f, p, h, g, m, v, _, y, b, k = !(arguments.length > 1 && arguments[1] !== undefined) || arguments[1], w = "", E = e.length; for (t = 0; t < E; t++)if (d = e[t], !(this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[d.type]) || !1 === (b = this.options.extensions.renderers[d.type].call({ parser: this }, d)) && ["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(d.type)) switch (d.type) { case "space": continue; case "hr": w += this.renderer.hr(); continue; case "heading": w += this.renderer.heading(this.parseInline(d.tokens), d.depth, (0, l.unescape)(this.parseInline(d.tokens, this.textRenderer)), this.slugger); continue; case "code": w += this.renderer.code(d.text, d.lang, d.escaped); continue; case "table": for (u = "", s = "", i = d.header.length, n = 0; n < i; n++)s += this.renderer.tablecell(this.parseInline(d.header[n].tokens), { header: !0, align: d.align[n] }); for (u += this.renderer.tablerow(s), c = "", i = d.rows.length, n = 0; n < i; n++) { for (s = "", o = (a = d.rows[n]).length, r = 0; r < o; r++)s += this.renderer.tablecell(this.parseInline(a[r].tokens), { header: !1, align: d.align[r] }); c += this.renderer.tablerow(s) } w += this.renderer.table(u, c); continue; case "blockquote": c = this.parse(d.tokens), w += this.renderer.blockquote(c); continue; case "list": for (f = d.ordered, p = d.start, h = d.loose, i = d.items.length, c = "", n = 0; n < i; n++)v = (m = d.items[n]).checked, _ = m.task, g = "", m.task && (y = this.renderer.checkbox(v), h ? m.tokens.length > 0 && "paragraph" === m.tokens[0].type ? (m.tokens[0].text = y + " " + m.tokens[0].text, m.tokens[0].tokens && m.tokens[0].tokens.length > 0 && "text" === m.tokens[0].tokens[0].type && (m.tokens[0].tokens[0].text = y + " " + m.tokens[0].tokens[0].text)) : m.tokens.unshift({ type: "text", text: y }) : g += y), g += this.parse(m.tokens, h), c += this.renderer.listitem(g, _, v); w += this.renderer.list(c, f, p); continue; case "html": w += this.renderer.html(d.text); continue; case "paragraph": w += this.renderer.paragraph(this.parseInline(d.tokens)); continue; case "text": for (c = d.tokens ? this.parseInline(d.tokens) : d.text; t + 1 < E && "text" === e[t + 1].type;)c += "\n" + ((d = e[++t]).tokens ? this.parseInline(d.tokens) : d.text); w += k ? this.renderer.paragraph(c) : c; continue; default: var x = 'Token with "' + d.type + '" type was not found.'; if (this.options.silent) return void console.error(x); throw new Error(x) } else w += b || ""; return w } }, { key: "parseInline", value: function (e, t) { t = t || this.renderer; var n, r, i, o = "", a = e.length; for (n = 0; n < a; n++)if (r = e[n], !(this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[r.type]) || !1 === (i = this.options.extensions.renderers[r.type].call({ parser: this }, r)) && ["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(r.type)) switch (r.type) { case "owo": o += t.owo(r.text); break; case "escape": case "text": o += t.text(r.text); break; case "html": o += t.html(r.text); break; case "link": o += t.link(r.href, r.title, this.parseInline(r.tokens, t)); break; case "image": o += t.image(r.href, r.title, r.text); break; case "strong": o += t.strong(this.parseInline(r.tokens, t)); break; case "em": o += t.em(this.parseInline(r.tokens, t)); break; case "codespan": o += t.codespan(r.text); break; case "br": o += t.br(); break; case "del": o += t.del(this.parseInline(r.tokens, t)); break; default: var s = 'Token with "' + r.type + '" type was not found.'; if (this.options.silent) return void console.error(s); throw new Error(s) } else o += i || ""; return o } }], [{ key: "parse", value: function (t, n) { return new e(n).parse(t) } }, { key: "parseInline", value: function (t, n) { return new e(n).parseInline(t) } }]), e }() }, 1380: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Renderer = void 0; var i = r(n(5272)), o = r(n(8946)), a = n(1498), s = n(4651); t.Renderer = function () { function e(t) { (0, i["default"])(this, e), this.options = t || a.defaults } return (0, o["default"])(e, [{ key: "owo", value: function (e) { var t = this.options.odata; return t && t[e] ? ' ' : ":" + e + ":" } }, { key: "code", value: function (e, t, n) { var r = (t || "").match(/\S*/)[0]; if (this.options.highlight) { var i = this.options.highlight(e, r); null != i && i !== e && (n = !0, e = i) } return e = e.replace(/\n$/, "") + "\n", r ? '' + (n ? e : (0, s.escape)(e, !0)) + "
\n" : "" + (n ? e : (0, s.escape)(e, !0)) + "
\n" } }, { key: "blockquote", value: function (e) { return "\n" + e + " \n" } }, { key: "html", value: function (e) { return e } }, { key: "heading", value: function (e, t, n, r) { return this.options.headerIds ? "\n" : "" + e + " \n" } }, { key: "hr", value: function () { return this.options.xhtml ? " \n" : " \n" } }, { key: "list", value: function (e, t, n) { var r = t ? "ol" : "ul"; return "<" + r + (t && 1 !== n ? ' start="' + n + '"' : "") + ">\n" + e + "" + r + ">\n" } }, { key: "listitem", value: function (e) { return "" + e + " \n" } }, { key: "checkbox", value: function (e) { return " " } }, { key: "paragraph", value: function (e) { return "" + e + "
\n" } }, { key: "table", value: function (e, t) { return t && (t = "" + t + " "), "\n" } }, { key: "tablerow", value: function (e) { return "\n" + e + " \n" } }, { key: "tablecell", value: function (e, t) { var n = t.header ? "th" : "td"; return (t.align ? "<" + n + ' align="' + t.align + '">' : "<" + n + ">") + e + "" + n + ">\n" } }, { key: "strong", value: function (e) { return "" + e + " " } }, { key: "em", value: function (e) { return "" + e + " " } }, { key: "codespan", value: function (e) { return "" + e + "
" } }, { key: "br", value: function () { return this.options.xhtml ? " " : " " } }, { key: "del", value: function (e) { return "" + e + "" } }, { key: "link", value: function (e, t, n) { if (null === (e = (0, s.cleanUrl)(this.options.sanitize, this.options.baseUrl, e))) return n; var r = '" + n + " " } }, { key: "image", value: function (e, t, n) { if (null === (e = (0, s.cleanUrl)(this.options.sanitize, this.options.baseUrl, e))) return n; var r = ' " : ">" } }, { key: "text", value: function (e) { return e } }]), e }() }, 7322: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Slugger = void 0; var i = r(n(5272)), o = r(n(8946)); t.Slugger = function () { function e() { (0, i["default"])(this, e), this.seen = {} } return (0, o["default"])(e, [{ key: "serialize", value: function (e) { return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi, "").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, "").replace(/\s/g, "-") } }, { key: "getNextSafeSlug", value: function (e, t) { var n = e, r = 0; if (this.seen.hasOwnProperty(n)) { r = this.seen[e]; do { n = e + "-" + ++r } while (this.seen.hasOwnProperty(n)) } return t || (this.seen[e] = r, this.seen[n] = 0), n } }, { key: "slug", value: function (e) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, n = this.serialize(e); return this.getNextSafeSlug(n, t.dryrun) } }]), e }() }, 3691: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.TextRenderer = void 0; var i = r(n(5272)), o = r(n(8946)); t.TextRenderer = function () { function e() { (0, i["default"])(this, e) } return (0, o["default"])(e, [{ key: "strong", value: function (e) { return e } }, { key: "em", value: function (e) { return e } }, { key: "codespan", value: function (e) { return e } }, { key: "del", value: function (e) { return e } }, { key: "html", value: function (e) { return e } }, { key: "text", value: function (e) { return e } }, { key: "link", value: function (e, t, n) { return "" + n } }, { key: "image", value: function (e, t, n) { return "" + n } }, { key: "br", value: function () { return "" } }]), e }() }, 7444: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.Tokenizer = void 0; var i = r(n(5272)), o = r(n(8946)), a = r(n(8500)), s = n(1498), u = n(4651); function c(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return l(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? l(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function l(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } function d(e, t, n, r) { var i = t.href, o = t.title ? (0, u.escape)(t.title) : null, a = e[1].replace(/\\([\[\]])/g, "$1"); if ("!" !== e[0].charAt(0)) { r.state.inLink = !0; var s = { type: "link", raw: n, href: i, title: o, text: a, tokens: r.inlineTokens(a, []) }; return r.state.inLink = !1, s } return { type: "image", raw: n, href: i, title: o, text: (0, u.escape)(a) } } t.Tokenizer = function () { function e(t) { (0, i["default"])(this, e), this.options = t || s.defaults } return (0, o["default"])(e, [{ key: "space", value: function (e) { var t = this.rules.block.newline.exec(e); if (t && t[0].length > 0) return { type: "space", raw: t[0] } } }, { key: "code", value: function (e) { var t = this.rules.block.code.exec(e); if (t) { var n = t[0].replace(/^ {1,4}/gm, ""); return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : (0, u.rtrim)(n, "\n") } } } }, { key: "fences", value: function (e) { var t = this.rules.block.fences.exec(e); if (t) { var n = t[0], r = function (e, t) { var n = e.match(/^(\s+)(?:```)/); if (null === n) return t; var r = n[1]; return t.split("\n").map((function (e) { var t = e.match(/^\s+/); return null === t ? e : (0, a["default"])(t, 1)[0].length >= r.length ? e.slice(r.length) : e })).join("\n") }(n, t[3] || ""); return { type: "code", raw: n, lang: t[2] ? t[2].trim() : t[2], text: r } } } }, { key: "heading", value: function (e) { var t = this.rules.block.heading.exec(e); if (t) { var n = t[2].trim(); if (/#$/.test(n)) { var r = (0, u.rtrim)(n, "#"); this.options.pedantic ? n = r.trim() : r && !/ $/.test(r) || (n = r.trim()) } var i = { type: "heading", raw: t[0], depth: t[1].length, text: n, tokens: [] }; return this.lexer.inline(i.text, i.tokens), i } } }, { key: "hr", value: function (e) { var t = this.rules.block.hr.exec(e); if (t) return { type: "hr", raw: t[0] } } }, { key: "blockquote", value: function (e) { var t = this.rules.block.blockquote.exec(e); if (t) { var n = t[0].replace(/^ *> ?/gm, ""); return { type: "blockquote", raw: t[0], tokens: this.lexer.blockTokens(n, []), text: n } } } }, { key: "list", value: function (e) { var t = this.rules.block.list.exec(e); if (t) { var n, r, i, o, a, s, u, l, d, f, p, h, g = t[1].trim(), m = g.length > 1, v = { type: "list", raw: "", ordered: m, start: m ? +g.slice(0, -1) : "", loose: !1, items: [] }; g = m ? "\\d{1,9}\\".concat(g.slice(-1)) : "\\".concat(g), this.options.pedantic && (g = m ? g : "[*+-]"); for (var _ = new RegExp("^( {0,3}".concat(g, ")((?: [^\\n]*)?(?:\\n|$))")); e && (h = !1, t = _.exec(e)) && !this.rules.block.hr.test(e);) { if (n = t[0], e = e.substring(n.length), l = t[2].split("\n", 1)[0], d = e.split("\n", 1)[0], this.options.pedantic ? (o = 2, p = l.trimLeft()) : (o = (o = t[2].search(/[^ ]/)) > 4 ? 1 : o, p = l.slice(o), o += t[1].length), s = !1, !l && /^ *$/.test(d) && (n += d + "\n", e = e.substring(d.length + 1), h = !0), !h) for (var y = new RegExp("^ {0,".concat(Math.min(3, o - 1), "}(?:[*+-]|\\d{1,9}[.)])")); e && (l = f = e.split("\n", 1)[0], this.options.pedantic && (l = l.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ")), !y.test(l));) { if (l.search(/[^ ]/) >= o || !l.trim()) p += "\n" + l.slice(o); else { if (s) break; p += "\n" + l } s || l.trim() || (s = !0), n += f + "\n", e = e.substring(f.length + 1) } v.loose || (u ? v.loose = !0 : /\n *\n *$/.test(n) && (u = !0)), this.options.gfm && (r = /^\[[ xX]\] /.exec(p)) && (i = "[ ] " !== r[0], p = p.replace(/^\[[ xX]\] +/, "")), v.items.push({ type: "list_item", raw: n, task: !!r, checked: i, loose: !1, text: p }), v.raw += n } v.items[v.items.length - 1].raw = n.trimRight(), v.items[v.items.length - 1].text = p.trimRight(), v.raw = v.raw.trimRight(); var b = v.items.length; for (a = 0; a < b; a++) { this.lexer.state.top = !1, v.items[a].tokens = this.lexer.blockTokens(v.items[a].text, []); var k = v.items[a].tokens.filter((function (e) { return "space" === e.type })), w = k.every((function (e) { var t, n = 0, r = c(e.raw.split("")); try { for (r.s(); !(t = r.n()).done;)if ("\n" === t.value && (n += 1), n > 1) return !0 } catch (i) { r.e(i) } finally { r.f() } return !1 })); !v.loose && k.length && w && (v.loose = !0, v.items[a].loose = !0) } return v } } }, { key: "html", value: function (e) { var t = this.rules.block.html.exec(e); if (t) { var n = { type: "html", raw: t[0], pre: !this.options.sanitizer && ("pre" === t[1] || "script" === t[1] || "style" === t[1]), text: t[0] }; return this.options.sanitize && (n.type = "paragraph", n.text = this.options.sanitizer ? this.options.sanitizer(t[0]) : (0, u.escape)(t[0]), n.tokens = [], this.lexer.inline(n.text, n.tokens)), n } } }, { key: "def", value: function (e) { var t = this.rules.block.def.exec(e); if (t) return t[3] && (t[3] = t[3].substring(1, t[3].length - 1)), { type: "def", tag: t[1].toLowerCase().replace(/\s+/g, " "), raw: t[0], href: t[2], title: t[3] } } }, { key: "table", value: function (e) { var t = this.rules.block.table.exec(e); if (t) { var n = { type: "table", header: (0, u.splitCells)(t[1]).map((function (e) { return { text: e } })), align: t[2].replace(/^ *|\| *$/g, "").split(/ *\| */), rows: t[3] && t[3].trim() ? t[3].replace(/\n[ \t]*$/, "").split("\n") : [] }; if (n.header.length === n.align.length) { n.raw = t[0]; var r, i, o, a, s = n.align.length; for (r = 0; r < s; r++)/^ *-+: *$/.test(n.align[r]) ? n.align[r] = "right" : /^ *:-+: *$/.test(n.align[r]) ? n.align[r] = "center" : /^ *:-+ *$/.test(n.align[r]) ? n.align[r] = "left" : n.align[r] = null; for (s = n.rows.length, r = 0; r < s; r++)n.rows[r] = (0, u.splitCells)(n.rows[r], n.header.length).map((function (e) { return { text: e } })); for (s = n.header.length, i = 0; i < s; i++)n.header[i].tokens = [], this.lexer.inlineTokens(n.header[i].text, n.header[i].tokens); for (s = n.rows.length, i = 0; i < s; i++)for (a = n.rows[i], o = 0; o < a.length; o++)a[o].tokens = [], this.lexer.inlineTokens(a[o].text, a[o].tokens); return n } } } }, { key: "lheading", value: function (e) { var t = this.rules.block.lheading.exec(e); if (t) { var n = { type: "heading", raw: t[0], depth: "=" === t[2].charAt(0) ? 1 : 2, text: t[1], tokens: [] }; return this.lexer.inline(n.text, n.tokens), n } } }, { key: "paragraph", value: function (e) { var t = this.rules.block.paragraph.exec(e); if (t) { var n = { type: "paragraph", raw: t[0], text: "\n" === t[1].charAt(t[1].length - 1) ? t[1].slice(0, -1) : t[1], tokens: [] }; return this.lexer.inline(n.text, n.tokens), n } } }, { key: "text", value: function (e) { var t = this.rules.block.text.exec(e); if (t) { var n = { type: "text", raw: t[0], text: t[0], tokens: [] }; return this.lexer.inline(n.text, n.tokens), n } } }, { key: "escape", value: function (e) { var t = this.rules.inline.escape.exec(e); if (t) return { type: "escape", raw: t[0], text: (0, u.escape)(t[1]) } } }, { key: "tag", value: function (e) { var t = this.rules.inline.tag.exec(e); if (t) return !this.lexer.state.inLink && /^/i.test(t[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(t[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0]) && (this.lexer.state.inRawBlock = !1), { type: this.options.sanitize ? "text" : "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(t[0]) : (0, u.escape)(t[0]) : t[0] } } }, { key: "link", value: function (e) { var t = this.rules.inline.link.exec(e); if (t) { var n = t[2].trim(); if (!this.options.pedantic && /^$/.test(n)) return; var r = (0, u.rtrim)(n.slice(0, -1), "\\"); if ((n.length - r.length) % 2 == 0) return } else { var i = (0, u.findClosingBracket)(t[2], "()"); if (i > -1) { var o = (0 === t[0].indexOf("!") ? 5 : 4) + t[1].length + i; t[2] = t[2].substring(0, i), t[0] = t[0].substring(0, o).trim(), t[3] = "" } } var a = t[2], s = ""; if (this.options.pedantic) { var c = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a); c && (a = c[1], s = c[3]) } else s = t[3] ? t[3].slice(1, -1) : ""; return a = a.trim(), /^$/.test(n) ? a.slice(1) : a.slice(1, -1)), d(t, { href: a ? a.replace(this.rules.inline._escapes, "$1") : a, title: s ? s.replace(this.rules.inline._escapes, "$1") : s }, t[0], this.lexer) } } }, { key: "reflink", value: function (e, t) { var n; if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { var r = (n[2] || n[1]).replace(/\s+/g, " "); if (!(r = t[r.toLowerCase()]) || !r.href) { var i = n[0].charAt(0); return { type: "text", raw: i, text: i } } return d(n, r, n[0], this.lexer) } } }, { key: "emStrong", value: function (e, t) { var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "", r = this.rules.inline.emStrong.lDelim.exec(e); if (r && (!r[3] || !n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))) { var i = r[1] || r[2] || ""; if (!i || i && ("" === n || this.rules.inline.punctuation.exec(n))) { var o, a, s = r[0].length - 1, u = s, c = 0, l = "*" === r[0][0] ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; for (l.lastIndex = 0, t = t.slice(-1 * e.length + s); null != (r = l.exec(t));)if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6]) if (a = o.length, r[3] || r[4]) u += a; else if (!((r[5] || r[6]) && s % 3) || (s + a) % 3) { if (!((u -= a) > 0)) { if (a = Math.min(a, a + u + c), Math.min(s, a) % 2) { var d = e.slice(1, s + r.index + a); return { type: "em", raw: e.slice(0, s + r.index + a + 1), text: d, tokens: this.lexer.inlineTokens(d, []) } } var f = e.slice(2, s + r.index + a - 1); return { type: "strong", raw: e.slice(0, s + r.index + a + 1), text: f, tokens: this.lexer.inlineTokens(f, []) } } } else c += a } } } }, { key: "codespan", value: function (e) { var t = this.rules.inline.code.exec(e); if (t) { var n = t[2].replace(/\n/g, " "), r = /[^ ]/.test(n), i = /^ /.test(n) && / $/.test(n); return r && i && (n = n.substring(1, n.length - 1)), n = (0, u.escape)(n, !0), { type: "codespan", raw: t[0], text: n } } } }, { key: "br", value: function (e) { var t = this.rules.inline.br.exec(e); if (t) return { type: "br", raw: t[0] } } }, { key: "del", value: function (e) { var t = this.rules.inline.del.exec(e); if (t) return { type: "del", raw: t[0], text: t[2], tokens: this.lexer.inlineTokens(t[2], []) } } }, { key: "owo", value: function (e) { var t = this.rules.inline.owo.exec(e); if (t && t[0].length > 1) return { type: "owo", raw: t[0], text: t[1] } } }, { key: "autolink", value: function (e, t) { var n, r, i = this.rules.inline.autolink.exec(e); if (i) return r = "@" === i[2] ? "mailto:" + (n = (0, u.escape)(this.options.mangle ? t(i[1]) : i[1])) : n = (0, u.escape)(i[1]), { type: "link", raw: i[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] } } }, { key: "url", value: function (e, t) { var n; if (n = this.rules.inline.url.exec(e)) { var r, i; if ("@" === n[2]) i = "mailto:" + (r = (0, u.escape)(this.options.mangle ? t(n[0]) : n[0])); else { var o; do { o = n[0], n[0] = this.rules.inline._backpedal.exec(n[0])[0] } while (o !== n[0]); r = (0, u.escape)(n[0]), i = "www." === n[1] ? "http://" + r : r } return { type: "link", raw: n[0], text: r, href: i, tokens: [{ type: "text", raw: r, text: r }] } } } }, { key: "inlineText", value: function (e, t) { var n, r = this.rules.inline.text.exec(e); if (r) return n = this.lexer.state.inRawBlock ? this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(r[0]) : (0, u.escape)(r[0]) : r[0] : (0, u.escape)(this.options.smartypants ? t(r[0]) : r[0]), { type: "text", raw: r[0], text: n } } }]), e }() }, 1498: function (e, t) { "use strict"; function n() { return { baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartLists: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 } } Object.defineProperty(t, "__esModule", { value: !0 }), t.changeDefaults = function (e) { t.defaults = e }, t.defaults = void 0, t.getDefaults = n, t.defaults = { baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartLists: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 } }, 4651: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.checkSanitizeDeprecation = function (e) { e && e.sanitize && !e.silent && console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options") }, t.cleanUrl = function (e, t, n) { if (e) { var r; try { r = decodeURIComponent(c(n)).replace(d, "").toLowerCase() } catch (i) { return null } if (0 === r.indexOf("javascript:") || 0 === r.indexOf("vbscript:") || 0 === r.indexOf("data:")) return null } t && !f.test(n) && (n = v(t, n)); try { n = encodeURI(n).replace(/%25/g, "%") } catch (i) { return null } return n }, t.edit = function (e, t) { e = e.source || e, t = t || ""; var n = { replace: function (t, r) { return r = (r = r.source || r).replace(l, "$1"), e = e.replace(t, r), n }, getRegex: function () { return new RegExp(e, t) } }; return n }, t.escape = function (e, t) { if (t) { if (n.test(e)) return e.replace(r, s) } else if (i.test(e)) return e.replace(o, s); return e }, t.findClosingBracket = function (e, t) { if (-1 === e.indexOf(t[1])) return -1; for (var n = e.length, r = 0, i = 0; i < n; i++)if ("\\" === e[i]) i++; else if (e[i] === t[0]) r++; else if (e[i] === t[1] && --r < 0) return i; return -1 }, t.merge = function (e) { for (var t, n, r = 1; r < arguments.length; r++)for (n in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); return e }, t.noopTest = void 0, t.repeatString = function (e, t) { if (t < 1) return ""; for (var n = ""; t > 1;)1 & t && (n += e), t >>= 1, e += e; return n + e }, t.resolveUrl = v, t.rtrim = _, t.splitCells = function (e, t) { var n = e.replace(/\|/g, (function (e, t, n) { for (var r = !1, i = t; --i >= 0 && "\\" === n[i];)r = !r; return r ? "|" : " |" })).split(/ \|/), r = 0; if (n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), n.length > t) n.splice(t); else for (; n.length < t;)n.push(""); for (; r < n.length; r++)n[r] = n[r].trim().replace(/\\\|/g, "|"); return n }, t.unescape = c; var n = /[&<>"']/, r = /[&<>"']/g, i = /[<>"']|&(?!#?\w+;)/, o = /[<>"']|&(?!#?\w+;)/g, a = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, s = function (e) { return a[e] }, u = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; function c(e) { return e.replace(u, (function (e, t) { return "colon" === (t = t.toLowerCase()) ? ":" : "#" === t.charAt(0) ? "x" === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : "" })) } var l = /(^|[^\[])\^/g, d = /[^\w:]/g, f = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i, p = {}, h = /^[^:]+:\/*[^/]*$/, g = /^([^:]+:)[\s\S]*$/, m = /^([^:]+:\/*[^/]*)[\s\S]*$/; function v(e, t) { p[" " + e] || (h.test(e) ? p[" " + e] = e + "/" : p[" " + e] = _(e, "/", !0)); var n = -1 === (e = p[" " + e]).indexOf(":"); return "//" === t.substring(0, 2) ? n ? t : e.replace(g, "$1") + t : "/" === t.charAt(0) ? n ? t : e.replace(m, "$1") + t : e + t } function _(e, t, n) { var r = e.length; if (0 === r) return ""; for (var i = 0; i < r;) { var o = e.charAt(r - i - 1); if (o !== t || n) { if (o === t || !n) break; i++ } else i++ } return e.substr(0, r - i) } t.noopTest = { exec: function () { } } }, 6847: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), Object.defineProperty(t, "Lexer", { enumerable: !0, get: function () { return r.Lexer } }), Object.defineProperty(t, "Parser", { enumerable: !0, get: function () { return i.Parser } }), Object.defineProperty(t, "Renderer", { enumerable: !0, get: function () { return a.Renderer } }), Object.defineProperty(t, "Slugger", { enumerable: !0, get: function () { return u.Slugger } }), Object.defineProperty(t, "TextRenderer", { enumerable: !0, get: function () { return s.TextRenderer } }), Object.defineProperty(t, "Tokenizer", { enumerable: !0, get: function () { return o.Tokenizer } }), Object.defineProperty(t, "defaults", { enumerable: !0, get: function () { return l.defaults } }), Object.defineProperty(t, "getDefaults", { enumerable: !0, get: function () { return l.getDefaults } }), t.lexer = void 0, t.marked = p, t.walkTokens = t.use = t.setOptions = t.parser = t.parseInline = t.parse = t.options = void 0; var r = n(354), i = n(5559), o = n(7444), a = n(1380), s = n(3691), u = n(7322), c = n(4651), l = n(1498); function d(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return f(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function f(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } function p(e, t, n) { if (null == e) throw new Error("marked(): input parameter is undefined or null"); if ("string" != typeof e) throw new Error("marked(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected"); if ("function" == typeof t && (n = t, t = null), t = (0, c.merge)({}, p.defaults, t || {}), (0, c.checkSanitizeDeprecation)(t), n) { var o, a = t.highlight; try { o = r.Lexer.lex(e, t) } catch (d) { return n(d) } var s = function (e) { var r; if (!e) try { t.walkTokens && p.walkTokens(o, t.walkTokens), r = i.Parser.parse(o, t) } catch (d) { e = d } return t.highlight = a, e ? n(e) : n(null, r) }; if (!a || a.length < 3) return s(); if (delete t.highlight, !o.length) return s(); var u = 0; return p.walkTokens(o, (function (e) { "code" === e.type && (u++, setTimeout((function () { a(e.text, e.lang, (function (t, n) { if (t) return s(t); null != n && n !== e.text && (e.text = n, e.escaped = !0), 0 == --u && s() })) }), 0)) })), void (0 === u && s()) } try { var l = r.Lexer.lex(e, t); return t.walkTokens && p.walkTokens(l, t.walkTokens), i.Parser.parse(l, t) } catch (d) { if (d.message += "\nPlease report this to https://github.com/markedjs/marked.", t.silent) return "An error occurred:
" + (0, c.escape)(d.message + "", !0) + " "; throw d } } p.options = p.setOptions = function (e) { return (0, c.merge)(p.defaults, e), (0, l.changeDefaults)(p.defaults), p }, p.getDefaults = l.getDefaults, p.defaults = l.defaults, p.use = function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; var r, i = c.merge.apply(void 0, [{}].concat(t)), s = p.defaults.extensions || { renderers: {}, childTokens: {} }; t.forEach((function (e) { if (e.extensions && (r = !0, e.extensions.forEach((function (e) { if (!e.name) throw new Error("extension name required"); if (e.renderer) { var t = s.renderers ? s.renderers[e.name] : null; s.renderers[e.name] = t ? function () { for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++)r[i] = arguments[i]; var o = e.renderer.apply(this, r); return !1 === o && (o = t.apply(this, r)), o } : e.renderer } if (e.tokenizer) { if (!e.level || "block" !== e.level && "inline" !== e.level) throw new Error("extension level must be 'block' or 'inline'"); s[e.level] ? s[e.level].unshift(e.tokenizer) : s[e.level] = [e.tokenizer], e.start && ("block" === e.level ? s.startBlock ? s.startBlock.push(e.start) : s.startBlock = [e.start] : "inline" === e.level && (s.startInline ? s.startInline.push(e.start) : s.startInline = [e.start])) } e.childTokens && (s.childTokens[e.name] = e.childTokens) }))), e.renderer) { var t = p.defaults.renderer || new a.Renderer, n = function (n) { var r = t[n]; t[n] = function () { for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++)o[a] = arguments[a]; var s = e.renderer[n].apply(t, o); return !1 === s && (s = r.apply(t, o)), s } }; for (var u in e.renderer) n(u); i.renderer = t } if (e.tokenizer) { var c = p.defaults.tokenizer || new o.Tokenizer, l = function (t) { var n = c[t]; c[t] = function () { for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++)i[o] = arguments[o]; var a = e.tokenizer[t].apply(c, i); return !1 === a && (a = n.apply(c, i)), a } }; for (var d in e.tokenizer) l(d); i.tokenizer = c } if (e.walkTokens) { var f = p.defaults.walkTokens; i.walkTokens = function (t) { e.walkTokens.call(this, t), f && f.call(this, t) } } r && (i.extensions = s), p.setOptions(i) })) }, p.walkTokens = function (e, t) { var n, r = d(e); try { var i = function () { var e = n.value; switch (t.call(p, e), e.type) { case "table": var r, i = d(e.header); try { for (i.s(); !(r = i.n()).done;) { var o = r.value; p.walkTokens(o.tokens, t) } } catch (f) { i.e(f) } finally { i.f() } var a, s = d(e.rows); try { for (s.s(); !(a = s.n()).done;) { var u, c = d(a.value); try { for (c.s(); !(u = c.n()).done;) { var l = u.value; p.walkTokens(l.tokens, t) } } catch (f) { c.e(f) } finally { c.f() } } } catch (f) { s.e(f) } finally { s.f() } break; case "list": p.walkTokens(e.items, t); break; default: p.defaults.extensions && p.defaults.extensions.childTokens && p.defaults.extensions.childTokens[e.type] ? p.defaults.extensions.childTokens[e.type].forEach((function (n) { p.walkTokens(e[n], t) })) : e.tokens && p.walkTokens(e.tokens, t) } }; for (r.s(); !(n = r.n()).done;)i() } catch (o) { r.e(o) } finally { r.f() } }, p.parseInline = function (e, t) { if (null == e) throw new Error("marked.parseInline(): input parameter is undefined or null"); if ("string" != typeof e) throw new Error("marked.parseInline(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected"); t = (0, c.merge)({}, p.defaults, t || {}), (0, c.checkSanitizeDeprecation)(t); try { var n = r.Lexer.lexInline(e, t); return t.walkTokens && p.walkTokens(n, t.walkTokens), i.Parser.parseInline(n, t) } catch (o) { if (o.message += "\nPlease report this to https://github.com/markedjs/marked.", t.silent) return "An error occurred:
" + (0, c.escape)(o.message + "", !0) + " "; throw o } }, p.Parser = i.Parser, p.parser = i.Parser.parse, p.Renderer = a.Renderer, p.TextRenderer = s.TextRenderer, p.Lexer = r.Lexer, p.lexer = r.Lexer.lex, p.Tokenizer = o.Tokenizer, p.Slugger = u.Slugger, p.parse = p, t.options = p.options, t.setOptions = p.setOptions, t.use = p.use, t.walkTokens = p.walkTokens, t.parseInline = p.parseInline, t.parse = p, t.parser = i.Parser.parse, t.lexer = r.Lexer.lex }, 8614: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.inline = t.block = void 0; var r = n(4651), i = t.block = { newline: /^(?: *(?:\n|$))+/, code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/, hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( {0,3}bull)( [^\n]+?)?(?:\n|$)/, html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))", def: /^ {0,3}\[(label)\]: *(?:\n *)?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, table: r.noopTest, lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, text: /^[^\n]+/ }; i._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/, i._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/, i.def = (0, r.edit)(i.def).replace("label", i._label).replace("title", i._title).getRegex(), i.bullet = /(?:[*+-]|\d{1,9}[.)])/, i.listItemStart = (0, r.edit)(/^( *)(bull) */).replace("bull", i.bullet).getRegex(), i.list = (0, r.edit)(i.list).replace(/bull/g, i.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + i.def.source + ")").getRegex(), i._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", i._comment = /|$)/, i.html = (0, r.edit)(i.html, "i").replace("comment", i._comment).replace("tag", i._tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), i.paragraph = (0, r.edit)(i._paragraph).replace("hr", i.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", i._tag).getRegex(), i.blockquote = (0, r.edit)(i.blockquote).replace("paragraph", i.paragraph).getRegex(), i.normal = (0, r.merge)({}, i), i.gfm = (0, r.merge)({}, i.normal, { table: "^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)" }), i.gfm.table = (0, r.edit)(i.gfm.table).replace("hr", i.hr).replace("heading", " {0,3}#{1,6} ").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", i._tag).getRegex(), i.gfm.paragraph = (0, r.edit)(i._paragraph).replace("hr", i.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("table", i.gfm.table).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", i._tag).getRegex(), i.pedantic = (0, r.merge)({}, i.normal, { html: (0, r.edit)("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", i._comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: r.noopTest, paragraph: (0, r.edit)(i.normal._paragraph).replace("hr", i.hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", i.lheading).replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").getRegex() }); var o = t.inline = { owo: /^:(\S*):/, escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, url: r.noopTest, tag: "^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^", link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, reflink: /^!?\[(label)\]\[(ref)\]/, nolink: /^!?\[(ref)\](?:\[\])?/, reflinkSearch: "reflink|nolink(?!\\()", emStrong: { lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/, rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ }, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, br: /^( {2,}|\\)\n(?!\s*$)/, del: r.noopTest, text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~", o.punctuation = (0, r.edit)(o.punctuation).replace(/punctuation/g, o._punctuation).getRegex(), o.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g, o.escapedEmSt = /\\\*|\\_/g, o._comment = (0, r.edit)(i._comment).replace("(?:--\x3e|$)", "--\x3e").getRegex(), o.emStrong.lDelim = (0, r.edit)(o.emStrong.lDelim).replace(/punct/g, o._punctuation).getRegex(), o.emStrong.rDelimAst = (0, r.edit)(o.emStrong.rDelimAst, "g").replace(/punct/g, o._punctuation).getRegex(), o.emStrong.rDelimUnd = (0, r.edit)(o.emStrong.rDelimUnd, "g").replace(/punct/g, o._punctuation).getRegex(), o._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g, o._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/, o._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/, o.autolink = (0, r.edit)(o.autolink).replace("scheme", o._scheme).replace("email", o._email).getRegex(), o._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/, o.tag = (0, r.edit)(o.tag).replace("comment", o._comment).replace("attribute", o._attribute).getRegex(), o._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, o._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/, o._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/, o.link = (0, r.edit)(o.link).replace("label", o._label).replace("href", o._href).replace("title", o._title).getRegex(), o.reflink = (0, r.edit)(o.reflink).replace("label", o._label).replace("ref", i._label).getRegex(), o.nolink = (0, r.edit)(o.nolink).replace("ref", i._label).getRegex(), o.reflinkSearch = (0, r.edit)(o.reflinkSearch, "g").replace("reflink", o.reflink).replace("nolink", o.nolink).getRegex(), o.normal = (0, r.merge)({}, o), o.pedantic = (0, r.merge)({}, o.normal, { strong: { start: /^__|\*\*/, middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, endAst: /\*\*(?!\*)/g, endUnd: /__(?!_)/g }, em: { start: /^_|\*/, middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, endAst: /\*(?!\*)/g, endUnd: /_(?!_)/g }, link: (0, r.edit)(/^!?\[(label)\]\((.*?)\)/).replace("label", o._label).getRegex(), reflink: (0, r.edit)(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", o._label).getRegex() }), o.gfm = (0, r.merge)({}, o.normal, { escape: (0, r.edit)(o.escape).replace("])", "~|])").getRegex(), _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\'.concat(e.logo, " ") + '
', r = 0; r < this.packages.length; r++) { n += '
'); for (var i = this.odata[this.packages[r]].container, o = 0; o < i.length; o++) { var a = i[o].icon.replace(" ').concat(a, "") } n += " " } n += '
'; for (var s = 0; s < this.packages.length; s++)n += "".concat(this.packages[s], " "); n += " ", this.container.innerHTML = n, this.logo = this.container.getElementsByClassName("OwO-logo")[0], this.logo.addEventListener("click", (function () { t.toggle() })), this.container.getElementsByClassName("OwO-body")[0].addEventListener("click", (function (e) { var n = null; if (e.target.classList.contains("OwO-item") ? n = e.target : e.target.parentNode.classList.contains("OwO-item") && (n = e.target.parentNode), n) { var r = t.area.selectionEnd, i = t.area.value, o = n.innerHTML; if (-1 !== o.indexOf("
2 && f[2] !== undefined ? f[2] : {}, o = e || (s.app ? s.app.$tcb : null), a = r.envId || s.app.$twikoo.envId, u = r.funcName || (null === s.app || void 0 === s.app ? void 0 : s.app.$twikoo.funcName) || "twikoo", !o) { t.next = 33; break } return t.prev = 5, t.next = 8, o.app.callFunction({ name: u, data: c({ event: n }, r) }); case 8: case 27: case 36: return t.abrupt("return", t.sent); case 11: t.prev = 11, t.t0 = t["catch"](5), t.t1 = n, t.next = "COMMENT_LIKE" === t.t1 ? 16 : "COMMENT_GET" === t.t1 ? 18 : "COMMENT_SUBMIT" === t.t1 ? 20 : "COUNTER_GET" === t.t1 ? 22 : 24; break; case 16: return d = "comment-like", t.abrupt("break", 24); case 18: return d = "comment-get", t.abrupt("break", 24); case 20: return d = "comment-submit", t.abrupt("break", 24); case 22: return d = "counter-get", t.abrupt("break", 24); case 24: if (!d) { t.next = 30; break } return t.next = 27, o.app.callFunction({ name: d, data: r }); case 30: throw new Error("请升级 Twikoo 云函数版本再试,如果仍无法解决,请删除并重新创建 Twikoo 云函数 - https://twikoo.js.org"); case 31: t.next = 40; break; case 33: if (!l(a)) { t.next = 39; break } return t.next = 36, new Promise((function (e, t) { try { var i = localStorage.getItem("twikoo-access-token"), o = new XMLHttpRequest; o.onreadystatechange = function () { if (4 === o.readyState) if (200 === o.status) { var n = JSON.parse(o.responseText); n.accessToken && localStorage.setItem("twikoo-access-token", n.accessToken), e({ result: n }) } else t(o.status) }, o.open("POST", a), o.setRequestHeader("Content-Type", "application/json"), o.send(JSON.stringify(c({ event: n, accessToken: i }, r))) } catch (s) { t(s) } })); case 39: throw new Error("缺少 envId 配置 - https://twikoo.js.org"); case 40: case "end": return t.stop() } }), t, null, [[5, 11]]) }))); return function (t, n) { return e.apply(this, arguments) } }() }, 4453: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.getQQAvatar = function (e) { var t = e.replace(/@qq.com/gi, ""); return "https://thirdqq.qlogo.cn/g?b=sdk&nk=".concat(t, "&s=140") }, t.isQQ = function (e) { return /^[1-9][0-9]{4,10}$/.test(e) || /^[1-9][0-9]{4,10}@qq.com$/i.test(e) }, t.normalizeMail = function (e) { return String(e).trim().toLowerCase() } }, 2894: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.initMarkedOwo = function (e) { if (e && Object.values(e)) { var t = {}; return Object.values(e).forEach((function (e) { e.container.forEach((function (e) { var n = p(e.icon); n && (t[e.text] = n) })) })), t } }, t.initOwoEmotions = function (e) { return d.apply(this, arguments) }; var i = r(n(818)), o = r(n(5825)), a = r(n(8711)), s = n(2304); function u(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return c(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? c(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function c(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } function l(e) { return new Promise((function (t) { var n = new XMLHttpRequest; n.onreadystatechange = function () { if (4 === n.readyState) if (n.status >= 200 && n.status < 300 || 304 === n.status) { var e = function (e) { try { return Object.values(e).forEach((function (e) { if ("image" === e.type) { var t, n = u(e.container); try { for (n.s(); !(t = n.n()).done;) { var r = t.value; r.text || (r.text = h(p(r.icon))) } } catch (i) { n.e(i) } finally { n.f() } } })), e } catch (t) { s.logger.warn("OwO data is bad: ", t) } }(JSON.parse(n.responseText)); t(e) } else s.logger.warn("OwO data request was unsuccessful: " + n.status) }, n.open("get", e, !0), n.send(null) })) } function d() { return (d = (0, a["default"])(i["default"].mark((function e(t) { var n, r; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return n = {}, e.next = 3, Promise.all(t.split(",").map((function (e) { return l(e.trim()) }))); case 3: return r = e.sent, Object.assign.apply(Object, [n].concat((0, o["default"])(r))), e.abrupt("return", n); case 6: case "end": return e.stop() } }), e) })))).apply(this, arguments) } var f = document.createElement("template"); function p(e) { try { return f.innerHTML = e, f.content.childNodes[0].src } catch (t) { return "" } } function h(e) { return e.split("#").shift().split("?").shift().split("/").pop() } }, 4508: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r, i, o = n(7588), a = function (e, t) { var n = document.getElementById("twikoo"); i && n.contains(i) || !e || "none" === e || ((i = document.createElement("link")).href = "default" === e ? "".concat(t, "/themes/prism.min.css") : "".concat(t, "/themes/prism-").concat(e, ".min.css"), i.rel = "stylesheet", i.type = "text/css", n.appendChild(i)) }; t["default"] = function (e, t) { var i = o.app && o.app.$twikoo.prismCdn ? o.app.$twikoo.prismCdn : "https://cdn.staticfile.org/prism/1.28.0"; window.Prism = window.Prism || {}, window.Prism.manual = !0, r || (r = n(7861), n(164), r.plugins.autoloader.languages_path = "".concat(i, "/components/")), a(t, i), r.highlightAllUnder(e) } }, 2554: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var i, o = r(n(3295)), a = "ADMIN_COMMENT", s = "ADMIN_CONFIG_CATEGORY", u = "ADMIN_CONFIG_ITEM", c = "ADMIN_IMPORT", l = ["qmsg", "serverchan", "pushplus", "pushplushxtrip", "dingtalk", "wecom", "bark", "gocqhttp", "atri", "pushdeer", "igot", "telegram", "feishu"].map((function (e) { return '"'.concat(e, '"') })), d = ["126", "163", "1und1", "AOL", "DebugMail", "DynectEmail", "FastMail", "GandiMail", "Gmail", "Godaddy", "GodaddyAsia", "GodaddyEurope", "Hotmail", "Mail.ru", "Maildev", "Mailgun", "Mailjet", "Mailosaur", "Mandrill", "Naver", "OpenMailBox", "Outlook365", "Postmark", "QQ", "QQex", "SES", "SES-EU-WEST-1", "SES-US-EAST-1", "SES-US-WEST-2", "SendCloud", "SendGrid", "SendPulse", "SendinBlue", "Sparkpost", "Yahoo", "Yandex", "Zoho", "hot.ee", "iCloud", "mail.ee", "qiye.aliyun"].map((function (e) { return '"'.concat(e, '"') })), f = ["default", "coy", "dark", "funky", "okaidia", "solarizedlight", "tomorrow", "twilight"].map((function (e) { return '"'.concat(e, '"') })), p = ["qcloud", "7bu", "https://7bu.top", "smms"].map((function (e) { return '"'.concat(e, '"') })), h = ["404", "mp", "identicon", "monsterid", "wavatar", "retro", "robohash", "blank"].map((function (e) { return '"'.concat(e, '"') })); t["default"] = (i = { ADMIN_CLIENT_VERSION: ["前端版本:", "前端版本:", "前端版本:", "Client version: ", "Клиент версияси: ", "フロントエンドバージョン:"], ADMIN_SERVER_VERSION: ["云函数版本:", "云函數版本:", "雲端函式版本:", "Server version: ", "Сервернинг версияси: ", "クラウド機能バージョン: "] }, (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, a, ["评论管理", "評論管理", "留言管理", "Comment", "Изоҳ", "コメント管理"]), a + "_DELETE", ["删除", "刪除", "移除", "Delete", "Ўчирмоқ", "削除"]), a + "_DELETE_CONFIRM", ["确认删除?", "確認刪除?", "確認移除?", "Confirm deletion?", "Ўчириш тасдиқлансинми?", "削除を確認する?"]), a + "_FILTER_ALL", ["全部", "全部", "全部", "All", "Ҳаммаси", "全部"]), a + "_FILTER_VISIBLE", ["只看可见", "只看可見", "只看可見", "Visible", "Кўринадиган", "可視のみ"]), a + "_FILTER_HIDDEN", ["只看隐藏", "只看隱藏", "只看隱藏", "Hidden", "Яширилган", "非表示のみ"]), a + "_HIDE", ["隐藏", "隱藏", "隱藏", "Hide", "非表示"]), a + "_IS_SPAM_SUFFIX", [" (已隐藏)", " (已隱藏)", " (已隱藏)", " (Hidden)", " (Яширилган)", " (非表示にされた)"]), a + "_SEARCH", ["搜索", "搜索", "搜尋", "Search", "Излаш", "検索"]), a + "_SEARCH_PLACEHOLDER", ["搜索昵称、邮箱、网址、IP、评论正文、文章地址", "搜索暱稱、郵箱、網址、IP、評論正文、文章地址", "搜索暱稱、郵件、網址、IP、留言正文、文章路徑", "Search by nick, mail, website, IP, comment, or article path", "Тахаллус, почта, веб-сайт, ИП, шарҳ ёки мақола йўли бўйича излаш", "ニックネーム、メールアドレス、ウェブサイトURL、IPアドレス、コメント内容、記事のURLを検索"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, a + "_SHOW", ["显示", "顯示", "顯示", "Show", "Кўрсатиш", "表示"]), a + "_TOP", ["置顶", "置頂", "置頂", "Pin", "Қадамоқ", "トップに固定"]), a + "_UNTOP", ["取消置顶", "取消置頂", "取消置頂", "Unpin", "Қадоқни ечмоқ", "トップ固定を解除"]), a + "_VIEW", ["查看", "查看", "檢視", "View", "Кўриниш", "閲覧"]), "ADMIN_CONFIG", ["配置管理", "配置管理", "設定值管理", "Configuration", "Конфигурация", "設定管理"]), s + "_COMMON", ["通用", "通用", "一般", "General", "Умумий", "共通"]), s + "_IM", ["即时通知", "即時通知", "即時通知", "Instant notification", "Тезкор хабарнома", "即時通知"]), s + "_MAIL", ["邮件通知", "郵件通知", "郵件通知", "Email notification", "Электрон почта хабарномаси", "メール通知"]), s + "_PLUGIN", ["插件", "插件", "擴充功能", "Plugin", "Плагин", "プラグイン"]), s + "_PRIVACY", ["隐私", "隱私", "隱私權", "Privacy", "Шахсий қоидалар", "プライバシー"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, s + "_SPAM", ["反垃圾", "反垃圾", "防垃圾", "Spam", "Спам", "スパム対策"]), "ADMIN_CONFIG_EMAIL_TEST", ["邮件通知测试", "郵件通知測試", "郵件通知測試", "Email notification test", "Электрон почта хабарномаси тести", "メール通知テスト"]), "ADMIN_CONFIG_EMAIL_TEST_BTN", ["发送测试邮件", "發送測試郵件", "發送測試郵件", "Send test mail", "Синов хатини юбориш", "テストメールを送信"]), "ADMIN_CONFIG_EMAIL_TEST_HELP", ["输入一个邮箱地址,发送测试邮件", "輸入一個郵箱位址,發送測試郵件", "輸入一個郵箱帳號,發送測試郵件", "Input an email address & send test mail", "Э-почта манзилини киритинг ва синов хатини юборинг", "メールアドレスを入力し、テストメールを送信してください"]), "ADMIN_CONFIG_EMAIL_TEST_RESULT", ["测试结果:", "測試結果:", "測試結果:", "Test result: ", "Тест натижаси: ", "テスト結果:"]), "ADMIN_CONFIG_EXAMPLE", ["示例:", "示例:", "範例:", "Example: ", "Намуна: ", "例:"]), u + "_AKISMET_KEY", ['Akismet 反垃圾评论,用于垃圾评论检测,设为 "MANUAL_REVIEW" 开启人工审核,留空不使用反垃圾。注册:https://akismet.com', 'Akismet 反垃圾評論,用於垃圾評論檢測,設為 "MANUAL_REVIEW" 開啟人工審核,留空不使用反垃圾。註冊:https://akismet.com', 'Akismet 防垃圾留言,用於垃圾留言檢測,設為 "MANUAL_REVIEW" 以開啟人工審核,留空則不使用防垃圾。註冊:https://akismet.com', 'Akismet spam protection. Set to "MANUAL_REVIEW" to enable manual review. Leave it blank to not use anti-spam. Register Akismet: https://akismet.com', 'Акисмет спам ҳимояси. Қўлда кўриб чиқишни ёқиш учун "MANUAL_REVIEW" га созланг. Анти-спамдан фойдаланмаслик учун уни бўш қолдиринг. Акисметни рўйхатдан ўтказиш: https://akismet.com', 'Akismetは、スパムコメントの検出に使用されるアンチスパムサービスです。"MANUAL_REVIEW"を設定すると、人の手によるレビューが必要なコメントを開始します。コメントのスパム対策にAkismetを使用することで、不要なコメントをブロックし、サイトのセキュリティを向上させることができます。 Akismetの詳細情報と登録は、https://akismet.com で提供されています。']), u + "_BLOGGER_NICK", ["博主的昵称。", "博主的昵稱。", "站長的暱稱。", "Admin nick name.", "Админ исми.", "管理者のニックネーム。"]), u + "_BLOGGER_EMAIL", ["博主的邮箱地址,用于邮件通知、博主标识。", "博主的郵箱地址,用於郵件通知、博主標識。", "站長的郵箱帳號,用於郵件通知、站長認證。", "Admin Email address. Used for Email notification and admin identification.", "Админ электрон почта манзили. Электрон почта хабарномаси ва администратор идентификацияси учун фойдаланилади.", "管理者のメールアドレス、通知、ブロガー識別のため。"]), u + "_COMMENT_BG_IMG", ["评论框自定义背景图片 URL 地址。", "評論框自定義背景圖片 URL 地址。", "留言區塊自訂背景圖片 URL 網址。", "URL for custom background image.", "Махсус фон расми учун УРЛ.", "コメントボックスのカスタム背景画像のURLアドレス。"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_COMMENT_PAGE_SIZE", ["评论列表分页大小,默认为 8。", "評論列表分頁大小,預設為 8。", "留言列表分頁大小,預設為 8。", "Comment page size. Default: 8.", "Изоҳ саҳифаси ўлчами. Стандарт: 8.", "コメントリストのページサイズ、デフォルトは8。"]), u + "_COMMENT_PLACEHOLDER", ["评论框提示信息,可用
换行,默认为空", "評論框提示信息,可用
換行,預設為空", "留言區塊提示資訊,可用
換行,預設空白", "Comment placeholder. Use
to start a newline. Default: empty.", "Изоҳ тўлдирувчиси. Янги қаторни бошлаш учун <бр> дан фойдаланинг. Стандарт: бўш.", "コメントボックスのヒントメッセージ、
で改行可能、デフォルトは空」"]), u + "_CORS_ALLOW_ORIGIN", ["Vercel CORS 安全域名,注意:错误设置会导致无法加载,默认为空,格式为 https://blog.example.com;如需添加多域名请使用,分隔", "Vercel CORS 安全域名,注意:错误设置会导致无法加載,默認為空,格式为 https://blog.example.com;如需添加多域名請使用,分隔", "Vercel CORS 安全網域,注意:設定錯誤將會導致載入失敗,預設空白,格式應為 https://blog.example.com;如需添加多域名請使用,分隔", "Vercel CORS allow origin, note: incorrect settings can cause loading failure. Default: blank, format: https://blog.example.com; If you need to add multiple domain names, please use, separate", "Версел СОРС келиб чиқишига рухсат беради, эътибор беринг: нотўғри созламалар юклашда хатоликка олиб келиши мумкин. Стандарт: бўш, формат: https://blog.example.com; Агар сиз бир нечта домен номларини қўшмоқчи бўлсангиз, илтимос, ажратишдан фойдаланинг.", "Vercel CORS セキュアドメイン、注意:誤った設定は読み込みエラーを引き起こす可能性があります、デフォルトは空、形式は https://blog.example.com です。複数のドメインを追加する場合は、コンマで区切ってください。"]), u + "_DEFAULT_GRAVATAR", ['默认的头像显示。默认值为 "identicon",可选:'.concat(h.join("、")), '預設的頭像顯示。預設值為 "identicon",可選:'.concat(h.join("、")), '預設的大頭貼照圖示。預設值為 "identicon",選項:'.concat(h.join("、")), 'Avatar placeholder. Default: "identicon". Choose from: '.concat(h.join(", ")), "Аватар тўлдирувчиси. Стандарт: «идентификатор». Қуйидагилардан танланг: ".concat(h.join(", ")), 'デフォルトのプロフィール画像表示。デフォルト値は "identicon" で、選択肢は:'.concat(h.join("、"), " です")]), u + "_EMOTION_CDN", ["表情 CDN,英文逗号分隔。默认为:https://owo.imaegoo.com/owo.json", "表情 CDN,英文逗號分隔。預設為:https://owo.imaegoo.com/owo.json", "表情 CDN 來源,使用英文逗號分隔。預設為:https://owo.imaegoo.com/owo.json", "Emotion CDN. Separate by comma. Default: https://owo.imaegoo.com/owo.json", "Emotion CDN. Вергул билан ажратинг. Default: https://owo.imaegoo.com/owo.json", "表情 CDN,英文逗号分隔。默认为:https://owo.imaegoo.com/owo.json"]), u + "_FORBIDDEN_WORDS", ["违禁词配置,包含违禁词的内容会直接标记为垃圾评论。英文逗号分隔。", "違禁詞配置,包含違禁詞的內容會直接標記為垃圾評論。英文逗號分隔。", "禁用詞語設定,包含禁用詞語的內容會直接標記為垃圾留言。使用英文逗號分隔。", "Configure prohibited words. Comments containing prohibited words will be auto spammed. Separate by comma.", "Тақиқланган сўзларни созланг. Тақиқланган сўзларни ўз ичига олган шарҳлар автоматик равишда спамга юборилади. Вергул билан ажратинг.", "禁止語設定、禁止語を含むコンテンツは直ちにスパムコメントとしてマークされます。コンマで区切ってください。"]), u + "_BLOCKED_WORDS", ["屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma.", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma.", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma."]), u + "_GRAVATAR_CDN", ["自定义头像 CDN 地址。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,默认:cravatar.cn", "自定義頭像 CDN 地址。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,預設:cravatar.cn", "自訂大頭貼照 CDN 來源。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,預設:cravatar.cn", "Custom avator CDN. (Examples: gravatar.com) Default: cravatar.cn.", "Custom avator CDN. (Мисоллар: gravatar.com) Default: cravatar.cn.", "カスタムプロフィール画像CDNアドレス。例:cn.gravatar.com、cravatar.cn、sdn.geekzu.org、gravatar.loli.net、デフォルト:cravatar.cn"]), u + "_HIDE_ADMIN_CRYPT", ["隐藏管理面板入口。可设置一个“暗号”,只有在“昵称”一栏输入相同的“暗号”时,管理面板入口才会显示,留空则不隐藏管理入口", "隱藏管理面板入口。可設定一個“暗號”,只有在“暱稱”一欄輸入相同的“暗號”時,管理面板入口才會顯示,留空則不隱藏管理入口", "隱藏管理控制台入口。可設定一個“暗號”,只有在「暱稱」一欄輸入相同的「暗號」時,管理控制台入口才會顯示,留白則不隱藏管理入口", "Set a cipher to hide the management panel entrance, only when the same cipher is entered in the nickname field the management panel entry will be displayed. Leave it blank to not hide the management entrance.", "Бошқарув панелига киришни яшириш учун шифрни ўрнатинг, фақат тахаллус майдонига худди шу шифр киритилганда бошқарув панелидаги ёзув кўрсатилади. Бошқарув киришини яширмаслик учун уни бўш қолдиринг.", '管理パネルのエントリを非表示にする。 "パスワード" を設定でき、 "ニックネーム" 列に同じ "パスワード" を入力した場合のみ、管理パネルのエントリが表示されます。空白の場合、管理エントリは非表示にされません。']), u + "_HIGHLIGHT", ["启用代码高亮功能。如果您的主题和代码高亮有冲突,请设为 false。默认:true", "啟用代碼高亮功能。如果您的主題和代碼高亮有衝突,請設為 false。預設:true", "啟用程式碼醒目顯示功能。如果您的主題和此功能發生衝突,請設定為 false。預設:true", "Enable code highlighting. If your theme conflicts with code highlighting, please set it to false. Default: true.", "Кодни ажратиб кўрсатишни ёқинг. Агар мавзуингиз кодни ажратиб кўрсатишга зид бўлса, уни «фалсе» га ўрнатинг. Стандарт: рост.", "コードハイライト機能を有効にします。テーマとコードハイライトに競合がある場合、falseに設定してください。デフォルト:true"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_HIGHLIGHT_THEME", ["代码高亮主题,可选:".concat(f.join("、"), ",访问 https://prismjs.com 可预览主题效果。如果您的主题和代码高亮有冲突,请设为 none。默认:none"), "代碼高亮主題,可選:".concat(f.join("、"), ",訪問 https://prismjs.com 可預覽主題效果。如果您的主題和代碼高亮有衝突,請設為 none。預設:none"), "程式碼醒目顯示主題,選項:".concat(f.join("、"), ",瀏覽 https://prismjs.com 可預覽主題效果。如果您的主題和此功能發生衝突,請設定為 none。預設:none"), "Code highlighting theme. Select from: ".concat(f.join(", "), ". Visit https://prismjs.com for preview. If your theme conflicts with code highlighting, please set it to none. Default: none."), "Кодни таъкидлаш мавзуси. Қуйидагилардан танланг: ".concat(f.join(", "), ". Олдиндан кўриш учун https://prismjs.com сайтига ташриф буюринг. Агар мавзуингиз кодни ажратиб кўрсатишга зид бўлса, уни «Ҳеч» га ўрнатинг. Стандарт: йўқ."), "コードハイライトのテーマ、選択肢:".concat(f.join("、"), "、テーマの効果をプレビューするには https://prismjs.com を訪問してください。テーマとコードハイライトに競合がある場合、noneに設定してください。デフォルト:none")]), u + "_IMAGE_CDN", ["插入图片所使用的图床,目前支持:".concat(p.join("、")), "插入圖片所使用的圖床,目前支持:".concat(p.join("、")), "插入圖片所使用的圖床,目前支援:".concat(p.join("、")), "The image bed for image uploading. Select from: ".concat(p.join(", ")), "Расм юклаш учун расм тўшаги. Қуйидагилардан танланг: ".concat(p.join(", ")), "画像のアップロードに使用する画像ホスティングサービス、現在のサポート:".concat(p.join("、"))]), u + "_IMAGE_CDN_TOKEN", ["图床 token。qcloud 图床无需设置", "图床 token。qcloud 图床无需设置", "圖床 token。qcloud 圖床不需設定", "The image bed token. Unnessessary for qcloud", "Тасвир токен белгиси. Қслоуд учун кераксиз", "画像ホスティングトークン。qcloud画像ホスティングには設定が必要ありません"]), u + "_LIMIT_PER_MINUTE", ["单个 IP 发言频率限制(条/10分钟),0 为无限制,默认:10", "單個 IP 發言頻率限制(條/10分鐘),0 為無限制,預設:10", "單個 IP 留言頻率限制(則/10分鐘),0 為無限,預設:10", "How many comments can be posted by each IP every 10 minutes, 0 is unlimited, default: 10.", "Ҳар бир ИП ҳар 10 дақиқада қанча шарҳ қолдириши мумкин, 0 чексиз, стандарт: 10.", "シングルIPスピーキング回数制限(メッセージ/10分)、0は無制限、デフォルト:10"]), u + "_LIMIT_PER_MINUTE_ALL", ["全站发言频率限制(条/10分钟),0 为无限制,默认:10", "全站發言頻率限制(條/10分鐘),0 為無限制,預設:10", "全站留言頻率限制(則/10分鐘),0 為無限,預設:10", "How many comments can be posted by all IPs every 10 minutes, 0 is unlimited, default: 10.", "Барча ИП-лар ҳар 10 дақиқада қанча шарҳ қўйиши мумкин, 0 чексиз, стандарт: 10.", "全体サイトの発言頻度制限(件/10分間)、0は制限なし、デフォルト:10"]), u + "_LIMIT_LENGTH", ["评论长度限制,0 为无限制,默认:500", "評論長度限制,0 為無限制,預設:500", "留言長度限制,0 為無限,預設:500", "Comment length limitation, 0 is unlimited, default: 500.", "Шарҳ узунлиги чеклови, 0 чексиз, стандарт: 500.", "コメント長さの制限、0は無制限、デフォルト:500"]), u + "_MAIL_SUBJECT", ["自定义通知邮件主题,留空则使用默认主题。", "自定義通知郵件主題,留空則使用預設主題。", "自訂通知郵件主題,留白則使用預設主題。", "Custom Email notification subject. Leave it blank to use the default subject.", "Махсус электрон почта хабарномаси мавзуси. Стандарт мавзуни ишлатиш учун уни бўш қолдиринг.", "カスタム通知メールの件名、空白の場合はデフォルトの件名を使用します。"]), u + "_MAIL_SUBJECT_ADMIN", ["自定义博主通知邮件主题,留空则使用默认主题。", "自定義博主通知郵件主題,留空則使用預設主題。", "自訂站長通知郵件主題,留白則使用預設主題。", "Custom admin Email notification subject. Leave it blank to use the default subject.", "Махсус администратор электрон почта хабарномаси мавзуси. Стандарт мавзуни ишлатиш учун уни бўш қолдиринг.", "カスタムブロガー通知メールの件名、空白の場合はデフォルトの件名を使用します。"]), u + "_MAIL_TEMPLATE", ["自定义通知邮件模板,留空则使用默认模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "自定義通知郵件模板,留空則使用預設模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "自訂通知郵件模板,留白則使用預設模板。可包含的欄位:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "Custom Email notification template. Leave it blank to use the default template. Fields that can be included: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "Махсус электрон почта хабарномаси шаблони. Стандарт шаблонни ишлатиш учун уни бўш қолдиринг. Қўшилиши мумкин бўлган майдонлар: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "カスタム通知メールテンプレート、空白の場合はデフォルトテンプレートを使用します。使用可能なフィールド:${SITE_URL}、${SITE_NAME}、${PARENT_NICK}、${PARENT_COMMENT}、${NICK}、${COMMENT}、${POST_URL}、${IMG}、${PARENT_IMG}"]), u + "_MAIL_TEMPLATE_ADMIN", ["自定义博主通知邮件模板,留空则使用默认模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "自定義博主通知郵件模板,留空則使用預設模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "自訂站長通知郵件模板,留白則使用預設模板。可包含的欄位:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "Custom admin Email notification template. Leave it blank to use the default template. Fields that can be included: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "Махсус администратор электрон почта хабарномаси шаблони. Стандарт шаблонни ишлатиш учун уни бўш қолдиринг. Қўшилиши мумкин бўлган майдонлар: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "カスタムブロガー通知メールテンプレート、空白の場合はデフォルトテンプレートを使用します。使用可能なフィールド:${SITE_URL}、${SITE_NAME}、${NICK}、${COMMENT}、${POST_URL}、${IP}、${MAIL}、${IMG}"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_MASTER_TAG", ["博主标识自定义文字,默认为 “博主”。", "博主標識自定義文字,預設為 “博主”。", "站長認證自訂文字,預設為「博主」。", "Custom admin identifier.", "Махсус администратор идентификатори.", 'ブロガー識別カスタムテキスト、デフォルトは "ブロガー"']), u + "_NOTIFY_SPAM", ["垃圾评论是否发送通知,默认:true", "垃圾評論是否發送通知,默認:true", "垃圾留言是否發送通知,預設:true", "Notifications for spam comments. Default: true.", "Спам шарҳлар учун билдиришномалар. Стандарт: рост.", "スパムコメントの通知を送信するかどうか、デフォルト:true"]), u + "_TURNSTILE_SITE_KEY", ["Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile"]), u + "_TURNSTILE_SECRET_KEY", ["Turnstile 验证码的密钥", "Turnstile 验证码的密钥", "Turnstile 验证码的密钥", "Turnstile CAPTCHA Secret Key", "Turnstile CAPTCHA Secret Key", "Turnstile CAPTCHA Secret Key"]), u + "_QCLOUD_SECRET_ID", ["腾讯云 secret id,用于垃圾评论检测。同时设置腾讯云和 Akismet 时,只有腾讯云会生效。注册:https://twikoo.js.org/cms.html", "騰訊雲 secret id,用於垃圾評論檢測。同時設定騰訊雲和 Akismet 時,只有騰訊雲會生效。註冊:https://twikoo.js.org/cms.html", "騰訊雲 Secret ID,用於垃圾留言檢測。同時設定騰訊雲和 Akismet 時,只有騰訊雲會被啟用。註冊:https://twikoo.js.org/cms.html", "Tencent Cloud secret id for spam detection. When Tencent Cloud and Akismet are set at the same time, only Tencent Cloud will take effect. Register: https://twikoo.js.org/cms.html", "Спамни аниқлаш учун Тенсент Слоуд махфий идентификатори. Тенсент Слоуд ва Акисмет бир вақтнинг ўзида ўрнатилганда, фақат Тенсент Слоуд кучга киради. Рўйхатдан ўтиш: https://twikoo.js.org/cms.html", "Tencent CloudのシークレットID、スパムコメントの検出に使用されます。同時にTencent CloudとAkismetを設定した場合、Tencent Cloudのみが有効になります。登録:https://twikoo.js.org/cms.html"]), u + "_QCLOUD_SECRET_KEY", ["腾讯云 secret key", "騰訊雲 secret key", "騰訊雲 Secret Key", "Tencent Cloud secret key.", "Тенсент Клауд махфий калити.", "Tencent Cloudのシークレットキー"]), u + "_PUSHOO_CHANNEL", ["即时消息推送平台名称,支持:".concat(l.join("、"), " 等"), "即時消息推送平台名称,支持:".concat(l.join("、"), " 等"), "即時訊息推送平台名稱,支援:".concat(l.join("、"), " 等"), "IM notification push channel. Support: ".concat(l.join(", ")), "ИМ билдиришномаси суриш канали. Қўллаб-қувватлаш: ".concat(l.join(", ")), "即時メッセージプッシュプラットフォームの名前、サポート:".concat(l.join("、"), " など")]), u + "_PUSHOO_TOKEN", ["即时消息推送 token。请参考 https://pushoo.js.org 里的详细说明配置", "即時消息推送 token。请参考 https://pushoo.js.org 里的详细说明配置", "即時訊息推送 Token。請参考 https://pushoo.js.org 裡的詳細說明進行設定", "IM notification push token. See https://pushoo.js.org for details", "ИМ билдиришномаси пуш токени. Тафсилотлар учун https://pushoo.js.org га қаранг", "即時メッセージプッシュトークン。詳細な設定については、https://pushoo.js.org の説明をご覧ください"]), u + "_DISPLAYED_FIELDS", ["界面上展示的输入框,默认:nick,mail,link", "界面上顯示的輸入框,預設:nick,mail,link", "界面上顯示的輸入框,預設:nick,mail,link", "Input boxes displayed on the interface. Default: nick,mail,link", "Поля ввода, отображаемые на интерфейсе, Стандарт: nick,mail,link", "画面に表示される入力欄、デフォルト:nick,mail,link"]), u + "_REQUIRED_FIELDS", ["评论必填信息,设为 nick,mail,link 代表全必填,设为 none 代表全选填,默认:nick,mail", "評論必填信息,設為 nick,mail,link 代表全必填,設為 none 代表全選填,預設:nick,mail", "留言必填資訊,設為 nick,mail,link 代表全必填,設為 none 代表全選填,預設:nick,mail", 'Required fields for comments. Set to "nick,mail,link" means all fields are required. Set to "none" means all fields are optional. Default: nick,mail.', "Шарҳлар учун зарур майдонлар. «Ниск,маил,линк» га ўрнатилган бўлса, барча майдонлар талаб қилинади. «Йўқ» га ўрнатилиши барча майдонлар ихтиёрий эканлигини англатади. Стандарт: ник, почта.", "コメント必須情報、すべての必須情報にはnick,mail,linkに設定、すべての任意情報にはnoneに設定、デフォルト:nick,mail"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_SC_MAIL_NOTIFY", ["是否同时通过 IM 和邮件 2 种方式通知博主,默认只通过 IM 通知博主,默认:false", "是否同時通過 IM 和郵件 2 種方式通知博主,預設只通過 IM 通知博主,預設:false", "是否同時透過 IM 和郵件 2 種方式通知博主,預設只透過 IM 通知博主,預設:false", "Whether to notify admin via IM and email at the same time, the default is to notify admin only via IM. Default: false.", "Администраторни бир вақтнинг ўзида ИМ ва электрон почта орқали хабардор қилиш керакми, сукут бўйича администраторни фақат ИМ орқали хабардор қилиш керак. Стандарт: нотўғри.", "ブロガーにIMとEメールで同時に通知するかどうか、デフォルトはIMのみで通知、デフォルト:false"]), u + "_SENDER_EMAIL", ["邮件通知邮箱地址。对于大多数邮箱服务商,SENDER_EMAIL 必须和 SMTP_USER 保持一致,否则无法发送邮件。", "郵件通知郵箱地址。對於大多數郵箱服務商,SENDER_EMAIL 必須和 SMTP_USER 保持一致,否則無法發送郵件。", "郵件通知郵箱帳號。對於大多數電郵服務提供商,SENDER_EMAIL 必須和 SMTP_USER 保持一致,否則無法傳送郵件。", "Email address for Email notification. For most email service providers, SENDER_EMAIL must be consistent with SMTP_USER, otherwise emails cannot be sent.", "Электрон почта хабарномаси учун электрон почта манзили. Аксарият электрон почта хизмати провайдерлари учун SENDER_EMAIL билан мос келиши керак, акс ҳолда электрон почта хабарларини юбориб бўлмайди.", "電子メール通知の電子メールアドレス。 ほとんどのメールボックス・プロバイダでは、SENDER_EMAILはSMTP_USERと同じでなければなりません。"]), u + "_SENDER_NAME", ["邮件通知标题。", "郵件通知標題。", "郵件通知標題。", "The title for Email notification.", "Электрон почта хабарномаси сарлавҳаси.", "メール通知のタイトル"]), u + "_SHOW_EMOTION", ["启用插入表情功能,默认为:true", "啟用插入表情功能,預設為:true", "啟用插入表情功能,預設為:true", "Enable emoticons. Default: true.", "Кулгичларни ёқинг. Стандарт: рост.", "顔文字の挿入を有効にする、デフォルト:true"]), u + "_SHOW_IMAGE", ["启用插入图片功能,默认为:true", "啟用插入圖片功能,預設為:true", "啟用插入圖片功能,預設為:true", "Enable picture uploading. Default: true.", "Расм юклашни ёқинг. Стандарт: рост.", "画像挿入機能を有効にする、デフォルト:true"]), u + "_SHOW_UA", ["是否显示用户系统和浏览器,默认为:true", "是否顯示使用者系統和瀏覽器,預設為:true", "是否顯示使用者作業系統和瀏覽器,預設為:true", "Show users' OS and browser. Default: true.", "Фойдаланувчиларнинг ОС ва браузерини кўрсатиш. Стандарт: рост.", "ユーザーシステムとブラウザーを表示するかどうか、デフォルトは:true"]), u + "_SHOW_REGION", ["是否显示用户 IP 属地到省,可能不准确,不支持 IPv6,默认为:false", "是否顯示使用者 IP 屬地到省,預設為:false", "是否顯示使用者 IP 所屬地(精確到省),預設為:false", "Show users' IP region (province). Default: false.", "Фойдаланувчиларнинг ИП ҳудудини (вилоят) кўрсатиш. Стандарт: нотўғри.", "ユーザーIPの所在地(省)を表示するかどうか、不正確の可能性があり、IPv6はサポートされていません、デフォルトは:false"]), u + "_SITE_NAME", ["网站名称", "網站名稱", "網站名稱", "Website name.", "Вебсайт номи.", "ウェブサイト名"]), u + "_SITE_URL", ["网站地址", "網站地址", "網站網址", "Website URL.", "Вебсайт URL.", "ウェブサイトのアドレス"]), u + "_SMTP_HOST", ["自定义 SMTP 服务器地址。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 伺服器地址。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 伺服器位址。如您已設定 SMTP_SERVICE,此項請留白。", "Custom SMTP server address. If you have configured SMTP_SERVICE, please leave it empty.", "Махсус СМТП сервер манзили. Агар сиз СМТП_СEРВИСE созлаган бўлсангиз, уни бўш қолдиринг.", "自定义 SMTP 服务器地址。如您已配置 SMTP_SERVICE,此项请留空。", "カスタムSMTPサーバのアドレス。 SMTP_SERVICEを設定している場合は空白のままにします。"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_SMTP_PASS", ["邮件通知邮箱密码,QQ、163邮箱请填写授权码。", "郵件通知郵箱密碼,QQ、163郵箱請填寫授權碼。", "郵件通知郵箱密碼,QQ、163 郵箱請填寫授權碼。", "Email notification mailbox password. Enter authorization code for QQ/163 mail.", "Электрон почта хабарномаси почта қутиси пароли. ҚҚ/163 почтаси учун авторизация кодини киритинг.", "メール通知のメールボックスパスワード、QQ、163メールは認証コードを入力してください"]), u + "_SMTP_PORT", ["自定义 SMTP 端口。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 端口。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 連接埠。如您已設定 SMTP_SERVICE,此項請留白。", "Custom SMTP port. If you have configured SMTP_SERVICE, please leave it empty.", "Махсус СМТП порти. Агар сиз СМТП_СEРВИС созлаган бўлсангиз, уни бўш қолдиринг.", "カスタムSMTPポート。 SMTP_SERVICEを設定している場合は、空白のままにします。"]), u + "_SMTP_SECURE", ["自定义 SMTP 是否使用TLS,请填写 true 或 false。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 是否使用TLS,請填寫 true 或 false。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 是否使用 TLS,請填寫 true 或 false。如您已設定 SMTP_SERVICE,此項請留白。", 'Custom TLS for SMTP. Enter "true" or "false". If you have configured SMTP_SERVICE, please leave it empty.', "СМТП учун махсус ТЛС. «Тўғри» ёки «нотўғри» ни киритинг. Агар сиз СМТП_СEРВИС созлаган бўлсангиз, уни бўш қолдиринг.", "SMTPがTLSを使用するかどうかをカスタマイズします。trueまたはfalseを記入してください。SMTP_SERVICEを設定している場合は、この項目を空白にしてください。"]), u + "_SMTP_SERVICE", ["邮件通知邮箱服务商。支持:".concat(d.join("、")), "郵件通知郵箱服務商。支持:".concat(d.join("、")), "郵件通知郵箱服務提供商。支援:".concat(d.join("、")), "Email service provider for Email notification. Support: ".concat(d.join(", ")), "Электрон почта хабарномаси учун электрон почта хизмати провайдери. Қўллаб-қувватлаш: ".concat(d.join(", ")), "メール通知メールボックスサービスプロバイダ。 サポート: ".concat(d.join(","), ".")]), u + "_SMTP_USER", ["邮件通知邮箱用户名。", "郵件通知郵箱用户名。", "郵件通知郵箱使用者名稱。", "Email notification mailbox username.", "Электрон почта хабарномаси почта қутиси фойдаланувчи номи.", "メール通知のメールボックスユーザー名。"]), "ADMIN_CONFIG_RESET", ["重置", "重置", "還原", "Reset", "Ресет", "リセット"]), "ADMIN_CONFIG_SAVE", ["保存", "保存", "儲存", "Save", "Сақлаш", "保存"]), "ADMIN_CREDENTIALS", ["私钥文件", "私鑰文件", "私鑰檔案", "Private key file", "Shaxsiy kalit fayli", "秘密鍵ファイル"]), "ADMIN_CREDENTIALS_FAQ", ["如何获得私钥", "如何獲得私鑰", "如何獲取私鑰", "How to get the private key", "Shaxsiy kalitni qanday olish mumkin", "秘密鍵を取得する方法"]), "ADMIN_CREDENTIALS_PLACEHOLDER", ["请粘贴私钥文件内容", "請貼上私鑰文件內容", "請貼上私鑰檔案內容", "Please paste the contents of the private key file", "Iltimos, shaxsiy kalit faylining mazmunini joylashtiring", "秘密鍵ファイルの内容を貼り付けてください"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "ADMIN_FORGOT", ["忘记密码", "忘記密碼", "忘記密碼", "Forget your password", "Парол унутилган", "パスワードを忘れた"]), "ADMIN_EXPORT", ["导出", "匯出", "匯出", "Export", "Экспорт", "エクスポート"]), "ADMIN_EXPORT_WARN", ["将全部数据导出为 JSON 文件。如果遇到评论较多、导出失败或缺失数据,请连接数据库手动导出", "將全部數據匯出為 JSON 檔。如果遇到評論較多、匯出失敗或缺失數據,請連接資料庫手動匯出", "將全部數據匯出為 JSON 檔。如果遇到評論較多、匯出失敗或缺失數據,請連接資料庫手動匯出", "Export all data as a JSON file. If you encounter export failures or missing data, connect to the database to export manually", "Барча маълумотларни ЖСОН файли сифатида экспорт қилинг. Экспорт хатоси ёки этишмаётган маълумотларга дуч келсангиз, қўлда экспорт қилиш учун маълумотлар базасига уланинг", "すべてのデータをJSONファイルとしてエクスポートします。コメントが多く、エクスポートに失敗したりデータが欠落している場合は、データベースに手動で接続してエクスポートしてください"]), "ADMIN_EXPORT_COMMENT", ["导出评论", "匯出評論", "匯出評論", "Export comment", "Изохни экспорт килиш", "コメントをエクスポート"]), "ADMIN_EXPORT_COUNTER", ["导出访问量", "匯出訪問量", "匯出訪問量", "Export counter", "Экспорт сони", "ページビューをエクスポート"]), c, ["导入", "匯入", "匯入", "Import", "Импорт", "インポート"]), c + "_FILE_REQUIRED", ["未选择文件", "未選擇文件", "未選擇檔案", "No file selected", "Файлни танланмади", "ファイルが選択されていません"]), c + "_IMPORTED", ["完成导入 ", "完成匯入 ", "完成匯入 ", "Imported ", "Импорт қилинди ", "インポート完了 "]), c + "_IMPORTING", ["开始导入 ", "開始匯入 ", "開始匯入 ", "Importing ", "Импорт қилинмоқда ", "インポートを開始 "]), c + "_LOG", ["日志", "日誌", "日誌", "Log", "Лог", "システムログ"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, c + "_SELECT", ["请选择", "請選擇", "請選擇", "Select", "Танланг", "選択してください"]), c + "_SELECT_FILE", ["选择文件", "選擇文件", "選擇檔案", "Select file", "Файлни танланг", "ファイルを選択"]), c + "_SELECT_SOURCE", ["选择源系统", "選擇源系統", "選擇來源系統", "Select source", "Манба танланг", "ソースシステムを選択"]), c + "_SOURCE_REQUIRED", ["未选择源系统", "未選擇源系統", "未選擇來源系統", "No source selected.", "Ҳеч қандай манба танланмаган.", "ソースシステムが選択されていません"]), c + "_START", ["开始导入", "開始匯入", "開始匯入", "Start import", "Импортни бошлаш", "インポートを開始"]), c + "_STARTING", ["开始导入", "開始匯入", "開始匯入", "Importing", "Импорт қилинмоқда", "インポート中です"]), c + "_TIP_ARTALK", ["请上传 JSON 格式的 Artalk 导出文件,文件名通常为 comments.data.json", "請上傳 JSON 格式的 Artalk 導出文件,文件名通常為 comments.data.json", "請上傳 JSON 格式的 Artalk 匯出檔案,檔名通常為 comments.data.json", "Please upload the Artalk export file in JSON format.The file name is usually comments.data.json", "Арталк экспорт файлини ЖСОН форматида юкланг. Файл номи одатда comments.data.json бўлади.", "通常comments.data.jsonという名前のJSON形式のArtalkエクスポートファイルをアップロードしてください"]), c + "_TIP_DISQUS", ["请上传 XML 格式的 Disqus 导出文件,文件名通常为 [网站名称]-[导出时间]-all.xml", "請上傳 XML 格式的 Disqus 導出文件,文件名通常為 [網站名稱]-[導出時間]-all.xml", "請上傳 XML 格式的 Disqus 匯出檔案,檔名通常為 [網站名稱]-[匯出時間]-all.xml", "Please upload the Disqus export file in XML format. The file name is usually [website name]-[export time]-all.xml", "Disqus экспорт файлини ХМЛ форматида юкланг. Файл номи одатда [веб-сайт номи]-[экспорт vaqti]-all.xml", "DisqusエクスポートファイルをXML形式でアップロードしてください。ファイル名は通常、[サイト名]-[エクスポート時間]-all.xmlです。"]), c + "_TIP_VALINE", ["请上传 JSON 格式的 Valine 导出文件,文件名通常为 Comment.json", "請上傳 JSON 格式的 Valine 導出文件,文件名通常為 Comment.json", "請上傳 JSON 格式的 Valine 匯出檔案,檔名通常為 Comment.json", "Please upload the Valine export file in JSON format. The file name is usually Comment.json", "Илтимос, Валине экспорт файлини ЖСОН форматида юкланг. Файл номи одатда Comment.json", "通常Comment.jsonという名前のJSON形式のValineエクスポートファイルをアップロードしてください。"]), c + "_UPLOADED", ["上传完成 ", "上傳完成 ", "上傳完成 ", "Uploaded ", "Юкланди ", "アップロード完了"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, c + "_UPLOADING", ["已上传 ", "已上傳 ", "已上傳 ", "Uploading ", "Юкланмоқда ", "すでにアップロードされています"]), c + "_WARN", ["支持从其他评论系统的备份文件导入评论。\n数据是安全的,导入功能完全在您的云环境进行。\n建议在导入前备份 comment 数据库。", "支持從其他評論系統的備份文件匯入評論。\n數據是安全的,匯入功能完全在您的雲環境進行。\n建議在匯入前備份 comment 數據庫。", "支援從其他留言系統的備份檔案匯入留言。\n資料是安全的,匯入功能完全在您的雲端環境進行。\n建議在匯入前備份 comment 資料庫。", "Import comments from other comment systems.\nThe data is safe, and the import function is performed entirely in your cloud environment.\nPlease backup your comment database before importing.", "Бошқа шарҳ тизимларидан шарҳларни импорт қилинг.\nМаълумотлар хавфсиз ва импорт функцияси тўлиқ булутли муҳитда амалга оширилади.\nИмпорт қилишдан олдин шарҳлар маълумотлар базасини захираланг.", "他のレビューシステムのバックアップファイルからのレビューのインポートに対応。 \nデータは安全で、インポート機能はすべてクラウド環境で実行されます。 \nインポート前にコメントデータベースをバックアップすることを推奨します。"]), "ADMIN_LOGIN", ["登录", "登入", "登入", "Sign in", "Тизимга кириш", "ログイン"]), "ADMIN_LOGIN_TITLE", ["Twikoo 评论管理", "Twikoo 評論管理", "Twikoo 留言管理", "Twikoo Management Panel", "Twikoo Бошқарув Панели", "Twikoo コメント管理"]), "ADMIN_LOGOUT", ["退出登录", "退出登入", "登出", "Sign out", "Тизимдан чиқиш", "ログアウト"]), "ADMIN_NEED_UPDATE", ["若要使用评论管理,请更新 Twikoo 云函数", "若要使用評論管理,請更新 Twikoo 雲函數", "若要使用留言管理功能,請更新 Twikoo 雲端函數", "A new version of Twikoo is required for comment management.", "Фикрларни бошқариш учун Твикоо нинг янги версияси талаб қилинади.", "コメント管理を使用するには、Twikoo クラウド関数を更新してください"]), "ADMIN_PASSWORD", ["密码", "密碼", "密碼", "Password", "Пароль", "パスワード"]), "ADMIN_PASSWORD_PLACEHOLDER", ["请输入", "請輸入", "請輸入", "Enter your password...", "Паролингизни киритинг...", "入力してください"]), "ADMIN_PASSWORD_REQUIRED", ["请输入密码", "請輸入密碼", "請輸入密碼", "Please enter your password", "Илтимос, паролингизни киритинг", "パスワードを入力してください"]), "ADMIN_REGIST", ["注册", "註冊", "註冊", "Register", "Рўйхатдан ўтиш", "登録"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "ADMIN_REGIST_FAILED", ["注册失败", "註冊失敗", "註冊失敗", "Register failed", "Рўйхатдан ўтиш амалга ошмади", "登録に失敗しました"]), "ADMIN_SET_PASSWORD", ["设置密码", "設置密碼", "設定密碼", "Set password", "Пароль қўйиш", "パスワードの設定"]), "ADMIN_SET_PASSWORD_CONFIRM", ["确认密码", "確認密碼", "確認密碼", "Confirm password", "Паролни тасдиқланг", "パスワードの確認"]), "ADMIN_SET_PASSWORD_CONFIRM_PLACEHOLDER", ["确认密码", "確認密碼", "確認密碼", "Confirm password...", "Паролни тасдиқлаш...", "パスワードの確認"]), "ADMIN_SET_PASSWORD_PLACEHOLDER", ["密码", "密碼", "密碼", "Password", "Пароль", "パスワード"]), "ADMIN_TITLE", ["Twikoo 管理面板", "Twikoo 管理面板", "Twikoo 管理控制台", "Twikoo Management Panel", "Twikoo Бошқарув Панели", "Twikoo管理パネル"]), "COMMENTS_COUNT_SUFFIX", [" 条评论", " 條評論", " 則留言", " comments", " изоҳлар", " 件のコメント"]), "COMMENTS_EXPAND", ["查看更多", "查看更多", "檢視更多", "Load more", "Давомини юклаш", "もっと見る"]), "COMMENTS_NO_COMMENTS", ["没有评论", "沒有評論", "沒有留言", "No comment", "Изоҳларсиз", "コメントなし"]), "COMMENT_EXPAND", ["展开", "展開", "展開", "Read more", "Давомини ўқиш", "コメントを展開する"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "COMMENT_COLLAPSE", ["收起", "收起", "閉合", "Collapse", "Очиш", "コメントを折りたたむ"]), "COMMENT_MASTER_TAG", ["博主", "博主", "站長", "Admin", "Модератор", "管理者"]), "COMMENT_REPLIED", ["回复", "回覆", "回覆", "Reply", "Жавоб бериш", "返信"]), "COMMENT_REVIEWING_TAG", ["审核中", "審核中", "審核中", "Pending", "Кутилмоқда", "検討中"]), "COMMENT_TOP_TAG", ["置顶", "置頂", "置頂", "Pinned", "Қадоқланган", "トップに固定"]), "COMMENT_FAILED", ["评论失败", "評論失敗", "評論失敗", "Comment failed", "Фикр билдирилмади", "コメント失敗"]), "META_INPUT_LINK", ["网址", "網址", "網址", "Website", "Веб-сайт", "ウェブサイト"]), "META_INPUT_MAIL", ["邮箱", "郵箱", "郵箱", "Email", "Email", "受信箱"]), "META_INPUT_NICK", ["昵称", "暱稱", "暱稱", "Nickname", "Исм", "ネットネーム"]), "META_INPUT_NOT_REQUIRED", ["选填", "選填", "選填", "Optional", "Ихтиёрий", "任意"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "META_INPUT_REQUIRED", ["必填", "必填", "必填", "Required", "Мажбурий", "必須項目"]), "PAGINATION_COUNT_PREFIX", ["共 ", "共 ", "共 ", "", "", "合計 "]), "PAGINATION_COUNT_SUFFIX", [" 条", " 條", " 條", " entries", " ёзувлар", " 件"]), "PAGINATION_GOTO_PREFIX", ["前往", "前往", "前往", "Goto page", "Саҳифага ўтиш", "ページに移動"]), "PAGINATION_GOTO_SUFFIX", ["页", "頁", "頁", "", "ページ"]), "PAGINATION_PAGESIZE", ["条/页", "條/頁", "則/頁", "entries/page", "ёзувлар/саҳифа", "件/ページ"]), "SUBMIT_CANCEL", ["取消", "取消", "取消", "Cancel", "Бекор қилиш", "キャンセル"]), "SUBMIT_PREVIEW", ["预览", "預覽", "預覽", "Preview", "Кўриб чиқиш", "プレビュー"]), "SUBMIT_SEND", ["发送", "發送", "傳送", "Send", "Юбормоқ", "送信"]), "IMAGE_UPLOAD_PLACEHOLDER", ["图片上传中", "圖片上傳中", "圖片上傳中", "Uploading image", "Расм юклаш", "画像のアップロード中"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "IMAGE_UPLOAD_FAILED", ["图片上传失败", "圖片上傳失敗", "圖片上傳失敗", "IMAGE UPLOAD FAILED", "РАСМ ЮКЛАНМАДИ", "画像のアップロード失敗"]), "IMAGE_UPLOAD_FAILED_NO_CONF", ["博主未配置图床服务", "博主未配置圖床服務", "博主未配置圖床服務", "The blogger didn't configured any image bed service", "Муаллиф ҳеч қандай тасвир хизматини созламаган", "管理者がイメージサービスを設定していない"]), "IMAGE_UPLOAD_PLEASE_WAIT", ["图片上传中,请稍候再发送", "圖片上傳中,請稍候再發送", "圖片上傳中,請稍候再傳送", "Uploading image, please try again later", "Расм юкланмоқда, кейинроқ қайта уриниб кўринг", "写真はアップロード中です"]), "SUBMIT_SENDING", ["发送中", "發送中", "正在傳送", "Sending", "Юбориш", "送信中"]), "TIMEAGO_DAYS", ["天前", "天前", "天前", "days ago", "кунлар олдин", "日前"]), "TIMEAGO_HOURS", ["小时前", "小時前", "小時前", "hours ago", "соатлар олдин", "時間前"]), "TIMEAGO_MINUTES", ["分钟前", "分鐘前", "分鐘前", "minutes ago", "дақиқалар олдин", "分前"]), "TIMEAGO_NOW", ["刚刚", "剛剛", "剛剛", "Just now", "Ҳозиргина", "たった今"]), "TIMEAGO_SECONDS", ["秒前", "秒前", "秒前", "seconds ago", "сониялар олдин", "秒前"])) }, 8896: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.setLanguage = t["default"] = void 0; var i = r(n(2554)), o = { zh: 0, "zh-cn": 0, "zh-hk": 1, "zh-tw": 2, "en-us": 3, "en-gb": 3, en: 3, uz: 4, "uz-uz": 4, ja: 5, "ja-jp": 5 }, a = ""; t.setLanguage = function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; e.lang && e.lang.toLowerCase() in o && (a = e.lang) }, t["default"] = function (e, t) { var n = (t || a || navigator.language).toLowerCase(); return (n && o[n] ? i["default"][e][o[n]] : i["default"][e][o["zh-cn"]]) || "" } }, 2304: function (e, t, n) { "use strict"; var r = n(3330), i = n(9767); Object.defineProperty(t, "__esModule", { value: !0 }), t.blobToDataURL = void 0, Object.defineProperty(t, "call", { enumerable: !0, get: function () { return p.call } }), t.getHref = t.getFuncVer = t.getCommentsCountApi = t.convertLink = void 0, Object.defineProperty(t, "getQQAvatar", { enumerable: !0, get: function () { return h.getQQAvatar } }), t.getUserAgent = t.getUrl = t.getRecentCommentsApi = void 0, Object.defineProperty(t, "initMarkedOwo", { enumerable: !0, get: function () { return g.initMarkedOwo } }), Object.defineProperty(t, "initOwoEmotions", { enumerable: !0, get: function () { return g.initOwoEmotions } }), t.isNotSet = void 0, Object.defineProperty(t, "isQQ", { enumerable: !0, get: function () { return h.isQQ } }), Object.defineProperty(t, "isUrl", { enumerable: !0, get: function () { return p.isUrl } }), t.logger = void 0, Object.defineProperty(t, "marked", { enumerable: !0, get: function () { return d["default"] } }), Object.defineProperty(t, "normalizeMail", { enumerable: !0, get: function () { return h.normalizeMail } }), t.readAsText = void 0, Object.defineProperty(t, "renderCode", { enumerable: !0, get: function () { return f["default"] } }), t.renderMath = t.renderLinks = void 0, Object.defineProperty(t, "setLanguage", { enumerable: !0, get: function () { return c.setLanguage } }), Object.defineProperty(t, "t", { enumerable: !0, get: function () { return c["default"] } }), Object.defineProperty(t, "timeago", { enumerable: !0, get: function () { return l["default"] } }), t.timestamp = void 0; var o, a = r(n(818)), s = r(n(5825)), u = r(n(8711)), c = function (e, t) { if (!t && e && e.__esModule) return e; if (null === e || "object" != i(e) && "function" != typeof e) return { "default": e }; var n = m(t); if (n && n.has(e)) return n.get(e); var r = { __proto__: null }, o = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if ("default" !== a && Object.prototype.hasOwnProperty.call(e, a)) { var s = o ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(r, a, s) : r[a] = e[a] } return r["default"] = e, n && n.set(e, r), r }(n(8896)), l = r(n(1232)), d = r(n(7423)), f = r(n(4508)), p = n(4491), h = n(4453), g = n(2894); function m(e) { if ("function" != typeof WeakMap) return null; var t = new WeakMap, n = new WeakMap; return (m = function (e) { return e ? n : t })(e) } function v(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return _(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function _(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } t.isNotSet = function (e) { return e === undefined || null === e || "" === e }, t.logger = { log: function (e, t) { console.log("Twikoo: ".concat(e), t) }, info: function (e, t) { console.info("Twikoo: ".concat(e), t) }, warn: function (e, t) { console.warn("Twikoo: ".concat(e), t) }, error: function (e, t) { console.error("Twikoo: ".concat(e), t) } }, t.timestamp = function () { return (arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date).getTime() }, t.convertLink = function (e) { return e ? "http" !== e.substring(0, 4) ? "http://".concat(e) : e : "" }, t.getFuncVer = function () { var e = (0, u["default"])(a["default"].mark((function t(e) { return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (o) { t.next = 4; break } return t.next = 3, (0, p.call)(e, "GET_FUNC_VERSION"); case 3: o = t.sent; case 4: return t.abrupt("return", o); case 5: case "end": return t.stop() } }), t) }))); return function (t) { return e.apply(this, arguments) } }(), t.getCommentsCountApi = function () { var e = (0, u["default"])(a["default"].mark((function t(e, n) { var r; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (n.urls instanceof Array) { t.next = 2; break } throw new Error("urls 参数有误"); case 2: if (0 !== n.urls.length) { t.next = 4; break } return t.abrupt("return", []); case 4: return t.next = 6, (0, p.call)(e, "GET_COMMENTS_COUNT", n); case 6: return r = t.sent, t.abrupt("return", r.result.data); case 8: case "end": return t.stop() } }), t) }))); return function (t, n) { return e.apply(this, arguments) } }(), t.getRecentCommentsApi = function () { var e = (0, u["default"])(a["default"].mark((function t(e, n) { var r, i, o, s; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, (0, p.call)(e, "GET_RECENT_COMMENTS", n); case 2: r = t.sent, i = v(r.result.data); try { for (i.s(); !(o = i.n()).done;)(s = o.value).relativeTime = (0, l["default"])(s.created) } catch (a) { i.e(a) } finally { i.f() } return t.abrupt("return", r.result.data); case 6: case "end": return t.stop() } }), t) }))); return function (t, n) { return e.apply(this, arguments) } }(), t.getUserAgent = function () { var e = (0, u["default"])(a["default"].mark((function t() { var e, n, r, i, o, s; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (e = window.navigator.userAgent, t.prev = 1, "Windows" !== (n = navigator.userAgentData.platform) && "macOS" !== n) { t.next = 10; break } return t.next = 6, navigator.userAgentData.getHighEntropyValues(["platformVersion"]); case 6: r = t.sent, i = r.platformVersion, o = parseInt(i.split(".")[0]), "Windows" === n && o >= 13 ? e = e.replace(/Windows NT 10\.0/i, "Windows NT ".concat("11.0")) : "macOS" === n && o >= 11 && (s = i.replace(/\./g, "_"), e = e.replace(/Mac OS X 10_[0-9]+_[0-9]+/i, "Mac OS X ".concat(s))); case 10: t.next = 14; break; case 12: t.prev = 12, t.t0 = t["catch"](1); case 14: return t.abrupt("return", e); case 15: case "end": return t.stop() } }), t, null, [[1, 12]]) }))); return function () { return e.apply(this, arguments) } }(), t.getUrl = function (e) { var t; if (window.TWIKOO_MAGIC_PATH) t = window.TWIKOO_MAGIC_PATH; else if (e && "string" == typeof e) switch (e) { case "location.pathname": case "window.location.pathname": t = window.location.pathname; break; case "location.href": case "window.location.href": t = window.location.href; break; default: t = e } else t = window.location.pathname; return t }, t.getHref = function (e) { var t, n; return null !== (t = null !== (n = window.TWIKOO_MAGIC_HREF) && void 0 !== n ? n : e) && void 0 !== t ? t : window.location.href }, t.readAsText = function (e) { return new Promise((function (t, n) { var r = new FileReader; r.readAsText(e), r.onloadend = function () { r.error ? n(r.error) : t(r.result) } })) }, t.renderLinks = function (e) { var t = []; e instanceof Array ? e.forEach((function (e) { var n; (n = t).push.apply(n, (0, s["default"])(e.getElementsByTagName("a"))) })) : e instanceof Element && (t = e.getElementsByTagName("a")); var n, r = v(t); try { for (r.s(); !(n = r.n()).done;) { var i = n.value; i.setAttribute("target", "_blank"), i.setAttribute("rel", "noopener noreferrer") } } catch (o) { r.e(o) } finally { r.f() } }, t.renderMath = function (e, t) { "function" == typeof renderMathInElement && renderMathInElement(e, t || { delimiters: [{ left: "$$", right: "$$", display: !0 }, { left: "$", right: "$", display: !1 }, { left: "\\(", right: "\\)", display: !1 }, { left: "\\[", right: "\\]", display: !0 }], throwOnError: !1 }) }, t.blobToDataURL = function (e) { return new Promise((function (t) { var n = new FileReader; n.onload = function (e) { var n = e.target.result; t(n) }, n.readAsDataURL(e) })) } }, 7423: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r = n(6847); r.marked.setOptions({ renderer: new r.marked.Renderer, gfm: !0, tables: !0, breaks: !0, pedantic: !1, smartLists: !0, smartypants: !0 }), t["default"] = r.marked }, 4361: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.install = function (e) { return d.apply(this, arguments) }, t.tcb = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304); function s(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return u(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? u(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function u(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var c = [{ key: "envId", required: !0 }], l = t.tcb = { sdk: null, app: null, auth: null }; function d() { return d = (0, o["default"])(i["default"].mark((function e(t) { var n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return n = r.length > 1 && r[1] !== undefined ? r[1] : {}, l.sdk = t, f(n), e.next = 5, p(n); case 5: return e.abrupt("return", l); case 6: case "end": return e.stop() } }), e) }))), d.apply(this, arguments) } function f(e) { var t, n = [], r = s(c); try { for (r.s(); !(t = r.n()).done;) { var i = t.value; i["default"] && (0, a.isNotSet)(e[i.key]) ? e[i.key] = i["default"] : i.required && (0, a.isNotSet)(e[i.key]) && n.push(i.key) } } catch (d) { r.e(d) } finally { r.f() } if (n.length > 0) { var o, u = s(n); try { for (u.s(); !(o = u.n()).done;) { var l = o.value; a.logger.warn("".concat(l, " is required")) } } catch (d) { u.e(d) } finally { u.f() } throw new Error("Twikoo: failed to init") } } function p(e) { return h.apply(this, arguments) } function h() { return (h = (0, o["default"])(i["default"].mark((function e(t) { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return g(t), e.next = 3, m(); case 3: case "end": return e.stop() } }), e) })))).apply(this, arguments) } function g(e) { l.app = l.sdk.init({ env: e.envId, region: e.region }) } function m() { return v.apply(this, arguments) } function v() { return (v = (0, o["default"])(i["default"].mark((function e() { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.abrupt("return", new Promise((function (e, t) { l.auth = l.app.auth({ persistence: "local" }), l.auth.hasLoginState() ? e() : l.auth.anonymousAuthProvider().signIn().then(e)["catch"](t) }))); case 1: case "end": return e.stop() } }), e) })))).apply(this, arguments) } }, 1232: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r = n(2304), i = { timeago: { seconds: (0, r.t)("TIMEAGO_SECONDS"), minutes: (0, r.t)("TIMEAGO_MINUTES"), hours: (0, r.t)("TIMEAGO_HOURS"), days: (0, r.t)("TIMEAGO_DAYS"), now: (0, r.t)("TIMEAGO_NOW") } }, o = function (e) { var t = a(e.getDate(), 2), n = a(e.getMonth() + 1, 2), r = a(e.getFullYear(), 2); return "".concat(r, "-").concat(n, "-").concat(t) }, a = function (e, t) { for (var n = e.toString(); n.length < t;)n = "0" + n; return n }; t["default"] = function (e) { if ("number" == typeof e && (e = new Date(e)), e) try { var t = e.getTime(), n = Date.now() - t, a = Math.floor(n / 864e5); if (0 === a) { var s = n % 864e5, u = Math.floor(s / 36e5); if (0 === u) { var c = s % 36e5, l = Math.floor(c / 6e4); if (0 === l) { var d = c % 6e4; return Math.round(d / 1e3) + " ".concat(i.timeago.seconds) } return l + " ".concat(i.timeago.minutes) } return u + " ".concat(i.timeago.hours) } return a < 0 ? i.timeago.now : a < 8 ? a + " ".concat(i.timeago.days) : o(e) } catch (f) { r.logger.log("timeAgo 错误", f) } } }, 8521: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.version = void 0, t.version = "1.6.30" }, 7588: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.render = t.app = void 0; var i = r(n(1848)), o = r(n(1834)), a = r(n(6433)), s = r(n(6406)), u = r(n(996)); n(4195), n(3414), n(9951), n(1071), i["default"].use(a["default"]), i["default"].use(s["default"]), i["default"].use(u["default"]); var c = t.app = null; t.render = function (e) { var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return i["default"].prototype.$tcb = e, i["default"].prototype.$twikoo = n, t.app = c = new i["default"]({ render: function (e) { return e(o["default"]) } }), c.$mount(n.el || "#twikoo"), c } }, 1121: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:\"\"}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}", ""]), t["default"] = a }, 6011: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}", ""]), t["default"] = a }, 1268: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}", ""]), t["default"] = a }, 4418: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.twikoo {\n position: relative;\n}\n.twikoo svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n/* 全局 CSS */\n.tk-expand {\n width: 100%;\n cursor: pointer;\n padding: 0.75em;\n text-align: center;\n transition: all 0.5s;\n}\n.tk-expand:hover {\n background-color: rgba(0,0,0,0.13);\n}\n.tk-expand:active {\n background-color: rgba(0,0,0,0.19);\n}\n.tk-content img {\n max-width: 300px;\n max-height: 300px;\n vertical-align: middle;\n}\n.tk-owo-emotion,\n.twikoo .OwO-item img {\n width: 3em;\n height: auto;\n}\n\n/* element-ui overwrite */\n.twikoo .el-input__inner,\n.twikoo .el-textarea__inner {\n color: currentColor;\n background-color: transparent;\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-input__inner:hover,\n.twikoo .el-textarea__inner:hover {\n border-color: rgba(144,147,153,0.50);\n}\n.twikoo .el-input__inner:focus,\n.twikoo .el-textarea__inner:focus {\n border-color: #409eff;\n}\n.twikoo .el-input-group__append,\n.twikoo .el-input-group__prepend {\n color: currentColor;\n background-clip: padding-box;\n background-color: rgba(144,147,153,0.13);\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text) {\n color: currentColor;\n background-color: rgba(144,147,153,0.063);\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):active,\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):focus,\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):hover {\n color: #409eff;\n background-color: rgba(64,158,255,0.063);\n border-color: rgba(64,158,255,0.50);\n}\n.twikoo .el-button--primary.is-disabled,\n.twikoo .el-button--primary.is-disabled:active,\n.twikoo .el-button--primary.is-disabled:focus,\n.twikoo .el-button--primary.is-disabled:hover {\n color: rgba(255,255,255,0.63);\n background-color: rgba(64,158,255,0.50);\n border-color: transparent;\n}\n.twikoo .el-loading-mask {\n background-color: transparent;\n backdrop-filter: opacity(20%);\n}\n.twikoo .el-textarea .el-input__count {\n color: currentColor;\n background: transparent;\n}\n.tk-admin-warn {\n padding: 1rem 1.5rem;\n background-color: #fff7d0;\n border-left: 0.5rem solid #e7c000;\n color: #6b5900;\n align-self: stretch;\n}\n", ""]), t["default"] = a }, 2249: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-action {\n display: flex;\n align-items: center;\n}\n.tk-action-link {\n margin-left: 0.5rem;\n color: #409eff;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n.tk-action-link .tk-action-icon-solid {\n display: none;\n}\n.tk-action-link.tk-liked .tk-action-icon,\n.tk-action-link:hover .tk-action-icon {\n display: none;\n}\n.tk-action-link.tk-liked .tk-action-icon-solid,\n.tk-action-link:hover .tk-action-icon-solid {\n display: block;\n}\n.tk-action-count {\n margin-left: 0.25rem;\n font-size: 0.75rem;\n height: 1.5rem;\n line-height: 1.5rem;\n}\n.tk-action-icon {\n display: inline-block;\n height: 1em;\n width: 1em;\n line-height: 0;\n color: #409eff;\n}\n", ""]), t["default"] = a }, 9612: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none;\n}\n.tk-admin {\n position: absolute;\n top: 0;\n left: 100%;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n pointer-events: all;\n color: #ffffff;\n background-color: rgba(0,0,0,0.60);\n backdrop-filter: blur(5px);\n transition: all 0.5s ease;\n visibility: hidden;\n}\n.tk-admin::-webkit-scrollbar {\n width: 5px;\n background-color: transparent;\n}\n.tk-admin::-webkit-scrollbar-track {\n background-color: transparent;\n}\n.tk-admin::-webkit-scrollbar-thumb {\n background-color: rgba(255,255,255,0.31);\n}\n.tk-admin.__show {\n left: 0;\n visibility: visible;\n}\n.tk-admin-close {\n position: sticky;\n float: right;\n display: block;\n top: 0;\n right: 0;\n width: 1rem;\n height: 1rem;\n padding: 1rem;\n box-sizing: content-box;\n color: #ffffff;\n}\n.tk-login,\n.tk-regist {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding: 0 2rem;\n}\n.tk-login-title {\n color: #ffffff;\n font-size: 1.25rem;\n text-align: center;\n margin-top: 10rem;\n}\n.tk-password,\n.tk-login-msg {\n color: #ffffff;\n width: 80%;\n text-align: center;\n margin-top: 1rem;\n}\n.tk-password .el-input__inner {\n min-width: 100px;\n}\n.tk-login-msg a {\n color: #ffffff;\n margin-left: 1em;\n text-decoration: underline;\n}\n.tk-regist-button {\n margin-top: 1rem;\n}\n.tk-panel {\n color: #ffffff;\n padding: 2rem;\n}\n.tk-panel-title {\n font-size: 1.5rem;\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n}\n.tk-panel-logout {\n color: #ffffff;\n font-size: 1rem;\n text-decoration: underline;\n}\n.tk-panel .tk-tabs {\n display: flex;\n margin-bottom: 1em;\n border-bottom: 2px solid #c0c4cc;\n}\n.tk-panel .tk-tab {\n color: #c0c4cc;\n cursor: pointer;\n line-height: 2em;\n margin-right: 2em;\n margin-bottom: -2px;\n}\n.tk-panel .tk-tab.__active {\n color: #ffffff;\n border-bottom: 2px solid #ffffff;\n}\n", ""]), t["default"] = a }, 2504: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-comment {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.tk-admin-comment a {\n color: currentColor;\n text-decoration: underline;\n}\n.tk-admin-warn {\n margin-bottom: 1em;\n}\n.tk-admin-comment-filter {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}\n.tk-admin-comment-filter-keyword {\n flex: 1;\n}\n.tk-admin-comment-filter-type {\n height: 32px;\n margin: 0 0.5em;\n padding: 0 0.5em;\n color: #ffffff;\n background: none;\n border: 1px solid rgba(144,147,153,0.31);\n border-radius: 4px;\n position: relative;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n.tk-admin-comment-filter-type:focus {\n border-color: #409eff;\n}\n.tk-admin-comment-filter-type option {\n color: initial;\n}\n.tk-admin-comment-list {\n margin-top: 1em;\n}\n.tk-admin-comment-list,\n.tk-admin-comment-item {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n}\n.tk-admin-comment-meta {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n margin-bottom: 0.5em;\n}\n.tk-admin-comment .tk-avatar {\n margin-right: 0.5em;\n}\n.tk-admin-actions {\n display: flex;\n margin-bottom: 1em;\n border-bottom: 1px solid rgba(255,255,255,0.5);\n}\n", ""]), t["default"] = a }, 7245: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-config-groups {\n overflow-y: auto;\n padding-right: 0.5em;\n}\n.tk-admin-config-groups .tk-admin-config-group,\n.tk-admin-config-groups .tk-admin-config-group-title {\n background: transparent;\n}\n.tk-admin-config-group-title {\n margin-top: 1em;\n font-size: 1.25rem;\n font-weight: bold;\n}\n.tk-admin-config-item {\n display: grid;\n align-items: center;\n grid-template-columns: 30% 70%;\n margin-top: 1em;\n}\n.tk-admin-config-title {\n text-align: right;\n margin-right: 1em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.tk-admin-config-desc {\n margin-top: 0.5em;\n font-size: 0.75em;\n overflow-wrap: break-word;\n}\n.tk-admin-config-actions {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 1em;\n}\n.tk-admin-config-message {\n margin-top: 0.5em;\n text-align: center;\n}\n.tk-admin-config-email-test-desc {\n margin: 1em 0;\n}\n", ""]), t["default"] = a }, 7795: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-import {\n display: flex;\n flex-direction: column;\n}\n.tk-admin-import-label {\n margin-top: 1em;\n font-size: 1.25rem;\n font-weight: bold;\n}\n.tk-admin-import select,\n.tk-admin-import input,\n.tk-admin-import .el-button,\n.tk-admin-import .el-textarea {\n margin-top: 1em;\n}\n", ""]), t["default"] = a }, 3886: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-avatar {\n flex-shrink: 0;\n height: 2.5rem;\n width: 2.5rem;\n overflow: hidden;\n text-align: center;\n border-radius: 5px;\n margin-right: 1rem;\n}\n.tk-comment .tk-submit .tk-avatar,\n.tk-replies .tk-avatar {\n height: 1.6rem;\n width: 1.6rem;\n}\n.tk-avatar.tk-has-avatar {\n background-color: rgba(144,147,153,0.13);\n}\n.tk-avatar.tk-clickable {\n cursor: pointer;\n}\n.tk-avatar .tk-avatar-img {\n height: 2.5rem;\n color: #c0c4cc;\n}\n.tk-comment .tk-submit .tk-avatar .tk-avatar-img,\n.tk-replies .tk-avatar .tk-avatar-img {\n height: 1.6rem;\n}\n", ""]), t["default"] = a }, 4778: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-main {\n flex: 1;\n width: 0;\n}\n.tk-row {\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n.tk-nick-link {\n color: inherit;\n text-decoration: none;\n}\n.tk-replies .tk-nick-link {\n font-size: .9em;\n}\n.tk-nick-link:hover {\n color: #409eff;\n}\n.tk-actions {\n display: none;\n margin-left: 1em;\n}\n.tk-comment:hover .tk-actions {\n display: inline;\n}\n.tk-extras {\n color: #999999;\n font-size: 0.875em;\n display: flex;\n flex-wrap: wrap;\n}\n.tk-extra {\n margin-top: 0.5rem;\n margin-right: 0.75rem;\n display: flex;\n align-items: center;\n}\n.tk-icon.__comment {\n height: 1em;\n width: 1em;\n line-height: 1;\n}\n.tk-extra-text {\n line-height: 1;\n}\n.tk-tag {\n display: inline-block;\n padding: 0 0.5em;\n font-size: 0.75em;\n background-color: #f2f6fc;\n}\n.tk-tag-green {\n background-color: rgba(103,194,58,0.13);\n border: 1px solid rgba(103,194,58,0.50);\n border-radius: 2px;\n color: #67c23a;\n}\n.tk-tag-yellow {\n background-color: rgba(230,162,60,0.13);\n border: 1px solid rgba(230,162,60,0.50);\n border-radius: 2px;\n color: #e6a23c;\n}\n.tk-tag-blue {\n background-color: rgba(64,158,255,0.13);\n border: 1px solid rgba(64,158,255,0.50);\n border-radius: 2px;\n color: #409eff;\n}\n.tk-tag-red {\n background-color: rgba(245,108,108,0.13);\n border: 1px solid rgba(245,108,108,0.50);\n border-radius: 2px;\n color: #f56c6c;\n}\n.tk-comment {\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n word-break: break-all;\n}\n.tk-content {\n margin-top: 0.5rem;\n overflow: auto;\n max-height: 500px;\n}\n.tk-replies .tk-content {\n font-size: .9em;\n}\n.tk-comment .vemoji {\n max-height: 2em;\n vertical-align: middle;\n}\n.tk-replies {\n max-height: 200px;\n overflow: hidden;\n position: relative;\n}\n.tk-replies-expand {\n max-height: none;\n}\n.tk-submit {\n margin-top: 1rem;\n}\n.tk-expand {\n font-size: 0.75em;\n}\n", ""]), t["default"] = a }, 1925: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-comments-title {\n font-size: 1.25rem;\n font-weight: bold;\n margin-bottom: 1rem;\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n.tk-comments-count.__hidden {\n visibility: hidden;\n}\n.tk-comments-container {\n min-height: 10rem;\n display: flex;\n flex-direction: column;\n}\n.tk-comments-no {\n flex: 1;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tk-comments-error {\n font-size: 0.75em;\n color: #ff0000;\n}\n.tk-icon.__comments {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: sub;\n margin-left: 0.5em;\n height: 0.75em;\n width: 0.75em;\n line-height: 0;\n cursor: pointer;\n color: #409eff;\n}\n", ""]), t["default"] = a }, 3837: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-footer {\n width: 100%;\n text-align: end;\n font-size: 0.75em;\n color: #999999;\n margin-top: 1em;\n}\n", ""]), t["default"] = a }, 9782: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-meta-input {\n display: flex;\n}\n.tk-meta-input .el-input {\n width: auto;\n width: calc((100% - 1rem) / 3); /* Fix Safari */\n flex: 1;\n}\n.tk-meta-input .el-input + .el-input {\n margin-left: 0.5rem;\n}\n.tk-meta-input .el-input .el-input-group__prepend {\n padding: 0 1rem;\n}\n.tk-meta-input .el-input input:invalid {\n border: 1px solid #f56c6c;\n box-shadow: none;\n}\n@media screen and (max-width: 767px) {\n.tk-meta-input {\n flex-direction: column;\n}\n.tk-meta-input .el-input {\n width: auto;\n}\n.tk-meta-input .el-input + .el-input {\n margin-left: 0;\n margin-top: 0.5rem;\n}\n}\n", ""]), t["default"] = a }, 5661: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-pagination,\n.tk-pagination-pagers {\n display: flex;\n}\n.tk-pagination {\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.tk-pagination-options {\n display: flex;\n align-items: center;\n}\n.tk-pagination-pager {\n width: 2em;\n height: 2em;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.tk-pagination-pager.__current {\n background-color: #409eff;\n pointer-events: none;\n}\n.tk-pagination .el-input {\n width: 50px;\n}\n.tk-pagination .el-input .el-input__inner {\n padding: 0;\n height: 28px;\n text-align: center;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n.tk-pagination .el-input .el-input__inner::-webkit-inner-spin-button,\n.tk-pagination .el-input .el-input__inner::-webkit-outer-spin-button {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n", ""]), t["default"] = a }, 5864: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-submit {\n display: flex;\n flex-direction: column;\n}\n.tk-row {\n display: flex;\n flex-direction: row;\n}\n.tk-col {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.tk-meta-input {\n margin-bottom: 0.5rem;\n}\n.tk-row.actions {\n position: relative;\n margin-top: 1rem;\n margin-bottom: 1rem;\n margin-left: 3.5rem;\n align-items: center;\n justify-content: flex-end;\n}\n.tk-row-actions-start {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.tk-submit-action-icon {\n align-self: center;\n display: inline-block;\n width: 1.25em;\n line-height: 0;\n margin-right: 10px;\n cursor: pointer;\n flex-shrink: 0;\n}\n.tk-submit-action-icon svg:hover {\n opacity: 0.8;\n}\n.tk-submit-action-icon.__markdown {\n color: #909399;\n}\n.tk-error-message {\n word-break: break-all;\n color: #ff0000;\n font-size: 0.75em;\n flex-shrink: 1;\n}\n.tk-input-image {\n display: none;\n}\n.tk-input {\n flex: 1;\n}\n.tk-input .el-textarea__inner {\n background-position: right bottom;\n background-repeat: no-repeat;\n}\n.tk-turnstile-container {\n position: absolute;\n right: 0;\n bottom: -75px;\n}\n.tk-turnstile {\n display: flex;\n flex-direction: column;\n}\n.tk-preview-container {\n margin-left: 3rem;\n margin-bottom: 1rem;\n padding: 5px 15px;\n border: 1px solid rgba(128,128,128,0.31);\n border-radius: 4px;\n word-break: break-word;\n}\n", ""]), t["default"] = a }, 712: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, '/*!\n * OwO v1.0.2\n * Source: https://github.com/DIYgod/OwO/blob/master/dist/OwO.min.css\n * Author: DIYgod\n * Modified by: iMaeGoo\n * Released under the MIT License.\n */\n\n.OwO {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.OwO.OwO-open .OwO-body {\n display: block;\n}\n\n.OwO .OwO-logo {\n width: 1.125em;\n display: flex;\n}\n\n.OwO .OwO-body {\n display: none;\n position: absolute;\n left: 0;\n right: 0;\n max-width: 500px;\n color: #4a4a4a;\n background-color: #ffffff;\n border: 1px solid rgba(144,147,153,0.31);\n top: 2em;\n border-radius: 0 4px 4px;\n z-index: 1000;\n}\n\n.night .OwO .OwO-body,\n.darkmode .OwO .OwO-body,\n.DarkMode .OwO .OwO-body,\n[data-theme="dark"] .OwO .OwO-body,\n[data-user-color-scheme="dark"] .OwO .OwO-body {\n color: #ffffff;\n background-color: #4a4a4a;\n}\n\n.OwO .OwO-body .OwO-items {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: none;\n padding: 10px;\n padding-right: 0;\n margin: 0;\n overflow: auto;\n font-size: 0;\n}\n\n.OwO .OwO-body .OwO-items .OwO-item {\n list-style-type: none;\n padding: 5px 10px;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n line-height: 14px;\n cursor: pointer;\n -webkit-transition: .3s;\n transition: .3s;\n text-align: center;\n}\n\n.OwO .OwO-body .OwO-items .OwO-item:hover {\n background-color: rgba(144,147,153,0.13);\n box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);\n}\n\n.OwO .OwO-body .OwO-items-emoji .OwO-item {\n font-size: 20px;\n line-height: 19px;\n}\n\n.OwO .OwO-body .OwO-items-image .OwO-item {\n width: 14%;\n box-sizing: border-box;\n}\n\n@media screen and (max-width: 600px) {\n #twikoo .OwO-items > .OwO-item {\n width: 16%;\n }\n}\n\n@media screen and (max-width: 460px) {\n #twikoo .OwO-items > .OwO-item {\n width: 20%;\n }\n}\n\n@media screen and (max-width: 400px) {\n #twikoo .OwO-items > .OwO-item {\n width: 25%;\n }\n}\n\n@media screen and (max-width: 330px) {\n #twikoo .OwO-items > .OwO-item {\n width: 33%;\n }\n}\n\n\n.OwO .OwO-body .OwO-items-image .OwO-item img {\n max-width: 100%;\n}\n\n.OwO .OwO-body .OwO-items-show {\n display: block;\n}\n\n.OwO .OwO-body .OwO-bar {\n width: 100%;\n border-top: 1px solid rgba(144,147,153,0.31);\n border-radius: 0 0 4px 4px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages {\n margin: 0;\n padding: 0;\n font-size: 0;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li {\n list-style-type: none;\n display: inline-block;\n line-height: 30px;\n font-size: 14px;\n padding: 0 10px;\n cursor: pointer;\n margin-right: 3px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li:nth-child(1) {\n border-radius: 0 0 0 3px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li:hover {\n background-color: rgba(144,147,153,0.13);\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active {\n background-color: rgba(144,147,153,0.13);\n -webkit-transition: .3s;\n transition: .3s;\n}\n', ""]), t["default"] = a }, 4427: function (e) { e.exports = '
' }, 511: function (e) { e.exports = '
' }, 7630: function (e) { e.exports = '
' }, 3447: function (e) { e.exports = '
' }, 7385: function (e) { e.exports = '
' }, 2170: function (e) { e.exports = '
' }, 5552: function (e) { e.exports = '
' }, 5242: function (e) { e.exports = '
' }, 3137: function (e) { e.exports = '
' }, 4783: function (e) { e.exports = '
' }, 5461: function (e) { e.exports = '
' }, 5570: function (e) { e.exports = '
' }, 8384: function (e) { e.exports = '
' }, 7702: function (e) { e.exports = '
' }, 6845: function (e) { e.exports = '
' }, 1576: function (e) { e.exports = '
' }, 2561: function (e) { e.exports = '
' }, 1455: function (e) { e.exports = '
' }, 9e3: function (e) { e.exports = '
' }, 6342: function (e) { e.exports = '
' }, 6230: function (e) { e.exports = '
' }, 7848: function (e) { e.exports = '
' }, 146: function (e) { e.exports = '
' }, 1834: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(4965), i = n(8745), o = i.Z, a = (n(5456), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 1365: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7534), i = n(7466), o = i.Z, a = (n(5858), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 2270: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(3530), i = n(4577), o = i.Z, a = (n(367), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9726: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7229), i = n(9434), o = i.Z, a = (n(1118), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 3035: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1205), i = n(9859), o = i.Z, a = (n(3138), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9942: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(9528), i = n(7504), o = i.Z, a = (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports }, 3388: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(5954), i = n(2943), o = i.Z, a = (n(6975), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 906: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7870), i = n(3419), o = i.Z, a = (n(6338), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 5915: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(6814), i = n(4637), o = i.Z, a = (n(3455), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 5312: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1505), i = n(315), o = i.Z, a = (n(8411), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9753: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1613), i = n(6056), o = i.Z, a = (n(2710), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 6701: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(6252), i = n(1749), o = i.Z, a = (n(1914), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 4620: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(978), i = n(7181), o = i.Z, a = (n(920), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 7179: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(5416), i = n(9420), o = i.Z, a = (n(8878), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 1900: function (e, t, n) { "use strict"; function r(e, t, n, r, i, o, a, s) { var u, c = "function" == typeof e ? e.options : e; if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), a ? (u = function (e) { (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(a) }, c._ssrRegister = u) : i && (u = s ? function () { i.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot) } : i), u) if (c.functional) { c._injectStyles = u; var l = c.render; c.render = function (e, t) { return u.call(t), l(e, t) } } else { var d = c.beforeCreate; c.beforeCreate = d ? [].concat(d, u) : [u] } return { exports: e, options: c } } n.d(t, { Z: function () { return r } }) }, 4195: function (e, t, n) { var r = n(1121); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("0e5ef982", r, !0, {}) }, 3414: function (e, t, n) { var r = n(6011); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("1a92f302", r, !0, {}) }, 9951: function (e, t, n) { var r = n(1268); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("e6b19834", r, !0, {}) }, 5456: function (e, t, n) { var r = n(4418); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("5049e71b", r, !0, {}) }, 5858: function (e, t, n) { var r = n(2249); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("2e97bedb", r, !0, {}) }, 367: function (e, t, n) { var r = n(9612); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("649fbfd3", r, !0, {}) }, 1118: function (e, t, n) { var r = n(2504); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("38478b6f", r, !0, {}) }, 3138: function (e, t, n) { var r = n(7245); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("4f255dde", r, !0, {}) }, 6975: function (e, t, n) { var r = n(7795); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("59ad6a1e", r, !0, {}) }, 6338: function (e, t, n) { var r = n(3886); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("48048424", r, !0, {}) }, 3455: function (e, t, n) { var r = n(4778); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("0ef696af", r, !0, {}) }, 8411: function (e, t, n) { var r = n(1925); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("7f96da90", r, !0, {}) }, 2710: function (e, t, n) { var r = n(3837); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("042e8a68", r, !0, {}) }, 1914: function (e, t, n) { var r = n(9782); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("59ca4f90", r, !0, {}) }, 920: function (e, t, n) { var r = n(5661); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("88983344", r, !0, {}) }, 8878: function (e, t, n) { var r = n(5864); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("1d22dba9", r, !0, {}) }, 1071: function (e, t, n) { var r = n(712); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("8be46386", r, !0, {}) }, 7913: function (e, t, n) { "use strict"; n.d(t, { Z: function () { return h } }); var r = n(8666), i = "undefined" != typeof document; if ("undefined" != typeof DEBUG && DEBUG && !i) throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."); var o = {}, a = i && (document.head || document.getElementsByTagName("head")[0]), s = null, u = 0, c = !1, l = function () { }, d = null, f = "data-vue-ssr-id", p = "undefined" != typeof navigator && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()); function h(e, t, n, i) { c = n, d = i || {}; var a = (0, r.Z)(e, t); return g(a), function (t) { for (var n = [], i = 0; i < a.length; i++) { var s = a[i]; (u = o[s.id]).refs--, n.push(u) } for (t ? g(a = (0, r.Z)(e, t)) : a = [], i = 0; i < n.length; i++) { var u; if (0 === (u = n[i]).refs) { for (var c = 0; c < u.parts.length; c++)u.parts[c](); delete o[u.id] } } } } function g(e) { for (var t = 0; t < e.length; t++) { var n = e[t], r = o[n.id]; if (r) { r.refs++; for (var i = 0; i < r.parts.length; i++)r.parts[i](n.parts[i]); for (; i < n.parts.length; i++)r.parts.push(v(n.parts[i])); r.parts.length > n.parts.length && (r.parts.length = n.parts.length) } else { var a = []; for (i = 0; i < n.parts.length; i++)a.push(v(n.parts[i])); o[n.id] = { id: n.id, refs: 1, parts: a } } } } function m() { var e = document.createElement("style"); return e.type = "text/css", a.appendChild(e), e } function v(e) { var t, n, r = document.querySelector("style[" + f + '~="' + e.id + '"]'); if (r) { if (c) return l; r.parentNode.removeChild(r) } if (p) { var i = u++; r = s || (s = m()), t = b.bind(null, r, i, !1), n = b.bind(null, r, i, !0) } else r = m(), t = k.bind(null, r), n = function () { r.parentNode.removeChild(r) }; return t(e), function (r) { if (r) { if (r.css === e.css && r.media === e.media && r.sourceMap === e.sourceMap) return; t(e = r) } else n() } } var _, y = (_ = [], function (e, t) { return _[e] = t, _.filter(Boolean).join("\n") }); function b(e, t, n, r) { var i = n ? "" : r.css; if (e.styleSheet) e.styleSheet.cssText = y(t, i); else { var o = document.createTextNode(i), a = e.childNodes; a[t] && e.removeChild(a[t]), a.length ? e.insertBefore(o, a[t]) : e.appendChild(o) } } function k(e, t) { var n = t.css, r = t.media, i = t.sourceMap; if (r && e.setAttribute("media", r), d.ssrId && e.setAttribute(f, t.id), i && (n += "\n/*# sourceURL=" + i.sources[0] + " */", n += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */"), e.styleSheet) e.styleSheet.cssText = n; else { for (; e.firstChild;)e.removeChild(e.firstChild); e.appendChild(document.createTextNode(n)) } } }, 3307: function (e) { "use strict"; e.exports = function (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5952: function (e) { "use strict"; e.exports = function (e) { if (Array.isArray(e)) return e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 2349: function (e, t, n) { "use strict"; var r = n(3307); e.exports = function (e) { if (Array.isArray(e)) return r(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8711: function (e) { "use strict"; function t(e, t, n, r, i, o, a) { try { var s = e[o](a), u = s.value } catch (c) { return void n(c) } s.done ? t(u) : Promise.resolve(u).then(r, i) } e.exports = function (e) { return function () { var n = this, r = arguments; return new Promise((function (i, o) { var a = e.apply(n, r); function s(e) { t(a, i, o, s, u, "next", e) } function u(e) { t(a, i, o, s, u, "throw", e) } s(undefined) })) } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5272: function (e) { "use strict"; e.exports = function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8946: function (e, t, n) { "use strict"; var r = n(8459); function i(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, r(i.key), i) } } e.exports = function (e, t, n) { return t && i(e.prototype, t), n && i(e, n), Object.defineProperty(e, "prototype", { writable: !1 }), e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 3295: function (e, t, n) { "use strict"; var r = n(8459); e.exports = function (e, t, n) { return (t = r(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 3330: function (e) { "use strict"; e.exports = function (e) { return e && e.__esModule ? e : { "default": e } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9627: function (e) { "use strict"; e.exports = function (e) { if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 7590: function (e) { "use strict"; e.exports = function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, i, o, a, s = [], u = !0, c = !1; try { if (o = (n = n.call(e)).next, 0 === t) { if (Object(n) !== n) return; u = !1 } else for (; !(u = (r = o.call(n)).done) && (s.push(r.value), s.length !== t); u = !0); } catch (e) { c = !0, i = e } finally { try { if (!u && null != n["return"] && (a = n["return"](), Object(a) !== a)) return } finally { if (c) throw i } } return s } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 565: function (e) { "use strict"; e.exports = function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8063: function (e) { "use strict"; e.exports = function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9207: function (e, t, n) { "use strict"; var r = n(9767)["default"]; function i() { e.exports = i = function () { return n }, e.exports.__esModule = !0, e.exports["default"] = e.exports; var t, n = {}, o = Object.prototype, a = o.hasOwnProperty, s = Object.defineProperty || function (e, t, n) { e[t] = n.value }, u = "function" == typeof Symbol ? Symbol : {}, c = u.iterator || "@@iterator", l = u.asyncIterator || "@@asyncIterator", d = u.toStringTag || "@@toStringTag"; function f(e, t, n) { return Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }), e[t] } try { f({}, "") } catch (t) { f = function (e, t, n) { return e[t] = n } } function p(e, t, n, r) { var i = t && t.prototype instanceof b ? t : b, o = Object.create(i.prototype), a = new N(r || []); return s(o, "_invoke", { value: O(e, n, a) }), o } function h(e, t, n) { try { return { type: "normal", arg: e.call(t, n) } } catch (e) { return { type: "throw", arg: e } } } n.wrap = p; var g = "suspendedStart", m = "suspendedYield", v = "executing", _ = "completed", y = {}; function b() { } function k() { } function w() { } var E = {}; f(E, c, (function () { return this })); var x = Object.getPrototypeOf, A = x && x(x(P([]))); A && A !== o && a.call(A, c) && (E = A); var C = w.prototype = b.prototype = Object.create(E); function I(e) { ["next", "throw", "return"].forEach((function (t) { f(e, t, (function (e) { return this._invoke(t, e) })) })) } function D(e, t) { function n(i, o, s, u) { var c = h(e[i], e, o); if ("throw" !== c.type) { var l = c.arg, d = l.value; return d && "object" == r(d) && a.call(d, "__await") ? t.resolve(d.__await).then((function (e) { n("next", e, s, u) }), (function (e) { n("throw", e, s, u) })) : t.resolve(d).then((function (e) { l.value = e, s(l) }), (function (e) { return n("throw", e, s, u) })) } u(c.arg) } var i; s(this, "_invoke", { value: function (e, r) { function o() { return new t((function (t, i) { n(e, r, t, i) })) } return i = i ? i.then(o, o) : o() } }) } function O(e, n, r) { var i = g; return function (o, a) { if (i === v) throw new Error("Generator is already running"); if (i === _) { if ("throw" === o) throw a; return { value: t, done: !0 } } for (r.method = o, r.arg = a; ;) { var s = r.delegate; if (s) { var u = S(s, r); if (u) { if (u === y) continue; return u } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if (i === g) throw i = _, r.arg; r.dispatchException(r.arg) } else "return" === r.method && r.abrupt("return", r.arg); i = v; var c = h(e, n, r); if ("normal" === c.type) { if (i = r.done ? _ : m, c.arg === y) continue; return { value: c.arg, done: r.done } } "throw" === c.type && (i = _, r.method = "throw", r.arg = c.arg) } } } function S(e, n) { var r = n.method, i = e.iterator[r]; if (i === t) return n.delegate = null, "throw" === r && e.iterator["return"] && (n.method = "return", n.arg = t, S(e, n), "throw" === n.method) || "return" !== r && (n.method = "throw", n.arg = new TypeError("The iterator does not provide a '" + r + "' method")), y; var o = h(i, e.iterator, n.arg); if ("throw" === o.type) return n.method = "throw", n.arg = o.arg, n.delegate = null, y; var a = o.arg; return a ? a.done ? (n[e.resultName] = a.value, n.next = e.nextLoc, "return" !== n.method && (n.method = "next", n.arg = t), n.delegate = null, y) : a : (n.method = "throw", n.arg = new TypeError("iterator result is not an object"), n.delegate = null, y) } function T(e) { var t = { tryLoc: e[0] }; 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) } function M(e) { var t = e.completion || {}; t.type = "normal", delete t.arg, e.completion = t } function N(e) { this.tryEntries = [{ tryLoc: "root" }], e.forEach(T, this), this.reset(!0) } function P(e) { if (e || "" === e) { var n = e[c]; if (n) return n.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var i = -1, o = function n() { for (; ++i < e.length;)if (a.call(e, i)) return n.value = e[i], n.done = !1, n; return n.value = t, n.done = !0, n }; return o.next = o } } throw new TypeError(r(e) + " is not iterable") } return k.prototype = w, s(C, "constructor", { value: w, configurable: !0 }), s(w, "constructor", { value: k, configurable: !0 }), k.displayName = f(w, d, "GeneratorFunction"), n.isGeneratorFunction = function (e) { var t = "function" == typeof e && e.constructor; return !!t && (t === k || "GeneratorFunction" === (t.displayName || t.name)) }, n.mark = function (e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, w) : (e.__proto__ = w, f(e, d, "GeneratorFunction")), e.prototype = Object.create(C), e }, n.awrap = function (e) { return { __await: e } }, I(D.prototype), f(D.prototype, l, (function () { return this })), n.AsyncIterator = D, n.async = function (e, t, r, i, o) { void 0 === o && (o = Promise); var a = new D(p(e, t, r, i), o); return n.isGeneratorFunction(t) ? a : a.next().then((function (e) { return e.done ? e.value : a.next() })) }, I(C), f(C, d, "Generator"), f(C, c, (function () { return this })), f(C, "toString", (function () { return "[object Generator]" })), n.keys = function (e) { var t = Object(e), n = []; for (var r in t) n.push(r); return n.reverse(), function i() { for (; n.length;) { var e = n.pop(); if (e in t) return i.value = e, i.done = !1, i } return i.done = !0, i } }, n.values = P, N.prototype = { constructor: N, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(M), !e) for (var n in this) "t" === n.charAt(0) && a.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = t) }, stop: function () { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval }, dispatchException: function (e) { if (this.done) throw e; var n = this; function r(r, i) { return s.type = "throw", s.arg = e, n.next = r, i && (n.method = "next", n.arg = t), !!i } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var o = this.tryEntries[i], s = o.completion; if ("root" === o.tryLoc) return r("end"); if (o.tryLoc <= this.prev) { var u = a.call(o, "catchLoc"), c = a.call(o, "finallyLoc"); if (u && c) { if (this.prev < o.catchLoc) return r(o.catchLoc, !0); if (this.prev < o.finallyLoc) return r(o.finallyLoc) } else if (u) { if (this.prev < o.catchLoc) return r(o.catchLoc, !0) } else { if (!c) throw new Error("try statement without catch or finally"); if (this.prev < o.finallyLoc) return r(o.finallyLoc) } } } }, abrupt: function (e, t) { for (var n = this.tryEntries.length - 1; n >= 0; --n) { var r = this.tryEntries[n]; if (r.tryLoc <= this.prev && a.call(r, "finallyLoc") && this.prev < r.finallyLoc) { var i = r; break } } i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null); var o = i ? i.completion : {}; return o.type = e, o.arg = t, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(o) }, complete: function (e, t) { if ("throw" === e.type) throw e.arg; return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), y }, finish: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), M(n), y } }, "catch": function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.tryLoc === e) { var r = n.completion; if ("throw" === r.type) { var i = r.arg; M(n) } return i } } throw new Error("illegal catch attempt") }, delegateYield: function (e, n, r) { return this.delegate = { iterator: P(e), resultName: n, nextLoc: r }, "next" === this.method && (this.arg = t), y } }, n } e.exports = i, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8500: function (e, t, n) { "use strict"; var r = n(5952), i = n(7590), o = n(2005), a = n(565); e.exports = function (e, t) { return r(e) || i(e, t) || o(e, t) || a() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5825: function (e, t, n) { "use strict"; var r = n(2349), i = n(9627), o = n(2005), a = n(8063); e.exports = function (e) { return r(e) || i(e) || o(e) || a() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 1259: function (e, t, n) { "use strict"; var r = n(9767)["default"]; e.exports = function (e, t) { if ("object" != r(e) || !e) return e; var n = e[Symbol.toPrimitive]; if (void 0 !== n) { var i = n.call(e, t || "default"); if ("object" != r(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === t ? String : Number)(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8459: function (e, t, n) { "use strict"; var r = n(9767)["default"], i = n(1259); e.exports = function (e) { var t = i(e, "string"); return "symbol" == r(t) ? t : String(t) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9767: function (e) { "use strict"; function t(n) { return e.exports = t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, e.exports.__esModule = !0, e.exports["default"] = e.exports, t(n) } e.exports = t, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 2005: function (e, t, n) { "use strict"; var r = n(3307); e.exports = function (e, t) { if (e) { if ("string" == typeof e) return r(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? r(e, t) : void 0 } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 818: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)), i = n(9207)(); e.exports = i; try { regeneratorRuntime = i } catch (o) { "object" === ("undefined" == typeof globalThis ? "undefined" : (0, r["default"])(globalThis)) ? globalThis.regeneratorRuntime = i : Function("r", "regeneratorRuntime = r")(i) } }, 1137: function (e) { "use strict"; e.exports = JSON.parse('{"name":"@cloudbase/js-sdk","version":"1.7.2","description":"cloudbase javascript sdk","main":"dist/index.cjs.js","module":"dist/index.esm.js","miniprogram":"miniprogram_dist","typings":"./index.d.ts","scripts":{"lint":"eslint --fix \\"./src/**/*.ts\\" \\"./database/**/*.ts\\"","build":"rm -rf dist/ && gulp build","build:cdn":"gulp cdn","build:miniapp":"gulp miniapp","build:e2e":"rm -rf dist/ && NODE_ENV=e2e gulp e2e"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/TencentCloudBase/cloudbase-js-sdk"},"keywords":["tcb","cloudbase","Cloudbase","serverless","Serverless","javascript","JavaScript"],"files":["miniprogram_dist","**/dist/","/index.d.ts","**/package.json"],"components":["app","auth","database","functions","storage"],"author":"","license":"ISC","dependencies":{"@cloudbase/analytics":"^1.1.1-alpha.0","@cloudbase/app":"^1.4.1","@cloudbase/auth":"^1.6.1","@cloudbase/database":"0.9.18-next","@cloudbase/functions":"^1.3.4","@cloudbase/realtime":"^1.1.4-alpha.0","@cloudbase/storage":"^1.3.4","@cloudbase/types":"^1.1.3-alpha.0","@cloudbase/utilities":"^1.3.4"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/preset-typescript":"^7.9.0","@typescript-eslint/eslint-plugin":"^3.8.0","@typescript-eslint/parser":"^3.8.0","awesome-typescript-loader":"^5.2.1","babel-loader":"^8.1.0","eslint":"^7.6.0","eslint-config-alloy":"^3.7.4","gulp":"^4.0.2","gulp-clean":"^0.4.0","gulp-rename":"^2.0.0","gulp-sourcemaps":"^2.6.5","gulp-typescript":"^6.0.0-alpha.1","json-loader":"^0.5.7","merge-stream":"^2.0.0","package-json-cleanup-loader":"^1.0.3","typescript":"^3.8.3","webpack":"4.41.3","webpack-cli":"^3.3.11","webpack-node-externals":"^1.7.2","webpack-stream":"^5.2.1","webpack-visualizer-plugin":"^0.1.11"},"browserslist":["last 2 version","> 1%","not dead","chrome 53"],"gitHead":"29ca0bf24318daa1fbb230910edf0b1545e17e7f"}') } }, t = {}; function n(r) { var i = t[r]; if (i !== undefined) return i.exports; var o = t[r] = { id: r, exports: {} }; return e[r](o, o.exports, n), o.exports } n.n = function (e) { var t = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return n.d(t, { a: t }), t }, n.d = function (e, t) { for (var r in t) n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }) }, n.g = function () { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")() } catch (e) { if ("object" == typeof window) return window } }(), n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }; var r = {}; return function () { "use strict"; var e = r, t = n(3330); Object.defineProperty(e, "__esModule", { value: !0 }), e["default"] = void 0, e.getCommentsCount = function () { return g.apply(this, arguments) }, e.getRecentComments = function () { return m.apply(this, arguments) }, e.init = p, Object.defineProperty(e, "version", { enumerable: !0, get: function () { return a.version } }); var i = t(n(818)), o = t(n(8711)), a = n(8521), s = n(4361), u = n(7588), c = n(2304), l = t(n(7517)); function d(e) { return f.apply(this, arguments) } function f() { return (f = (0, o["default"])(i["default"].mark((function e(t) { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, (0, s.install)(l["default"], t); case 2: return e.abrupt("return", e.sent); case 3: case "end": return e.stop() } }), e) })))).apply(this, arguments) } function p() { return h.apply(this, arguments) } function h() { return h = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: n = e.t0, (0, c.setLanguage)(t), (0, u.render)(n, t); case 11: case "end": return e.stop() } }), e) }))), h.apply(this, arguments) } function g() { return g = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: return n = e.t0, e.next = 11, (0, c.getCommentsCountApi)(n, t); case 11: return e.abrupt("return", e.sent); case 12: case "end": return e.stop() } }), e) }))), g.apply(this, arguments) } function m() { return m = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: return n = e.t0, e.next = 11, (0, c.getRecentCommentsApi)(n, t); case 11: return e.abrupt("return", e.sent); case 12: case "end": return e.stop() } }), e) }))), m.apply(this, arguments) } n(2216), n(6410), n(3588), e["default"] = p }(), r }() }, "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.twikoo = t() : e.twikoo = t();
\ No newline at end of file
diff --git a/js/waline.mjs b/js/waline.mjs
new file mode 100644
index 0000000..b8175b8
--- /dev/null
+++ b/js/waline.mjs
@@ -0,0 +1,2 @@
+const e = ["nick", "mail", "link"], t = t => t.filter((t => e.includes(t))), n = ["//unpkg.com/@waline/emojis@1.1.0/weibo"], r = "en-US", l = ["//unpkg.com/@waline/emojis/tieba/tieba_agree.png", "//unpkg.com/@waline/emojis/tieba/tieba_look_down.png", "//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png", "//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png", "//unpkg.com/@waline/emojis/tieba/tieba_awkward.png", "//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"], i = e => new Promise(((t, n) => { if (e.size > 128e3) return n(new Error("File too large! File size limit 128KB")); const r = new FileReader; r.readAsDataURL(e), r.onload = () => t(r.result?.toString() || ""), r.onerror = n })), s = e => !0 === e ? '
Tex is not available in preview
' : '
Tex is not available in preview ', o = e => { const t = async (t, n = {}) => fetch(`https://api.giphy.com/v1/gifs/${t}?${new URLSearchParams({ lang: e, limit: "20", rating: "g", api_key: "6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp", ...n }).toString()}`).then((e => e.json())).then((({ data: e }) => e.map((e => ({ title: e.title, src: e.images.downsized_medium.url }))))); return { search: e => t("search", { q: e, offset: "0" }), default: () => t("trending", {}), more: (e, n = 0) => t("search", { q: e, offset: n.toString() }) } }, a = new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/ { let t = 0; return e.replace(a, ((e, n, r) => { if (r) return `
${r} `; if ("<" === n) return "<"; let l; u[n] ? l = u[n] : (l = c[t], u[n] = l); const i = `
${n} `; return t = ++t % c.length, i })) }, d = ["nick", "nickError", "mail", "mailError", "link", "optional", "placeholder", "sofa", "submit", "like", "cancelLike", "reply", "cancelReply", "comment", "refresh", "more", "preview", "emoji", "uploadImage", "seconds", "minutes", "hours", "days", "now", "uploading", "login", "logout", "admin", "sticky", "word", "wordHint", "anonymous", "level0", "level1", "level2", "level3", "level4", "level5", "gif", "gifSearchPlaceholder", "profile", "approved", "waiting", "spam", "unsticky", "oldest", "latest", "hottest", "reactionTitle"], h = e => Object.fromEntries(e.map(((e, t) => [d[t], e]))); var f = h(["NickName", "NickName cannot be less than 3 bytes.", "E-Mail", "Please confirm your email address.", "Website", "Optional", "Comment here...", "No comment yet.", "Submit", "Like", "Cancel like", "Reply", "Cancel reply", "Comments", "Refresh", "Load More...", "Preview", "Emoji", "Upload Image", "seconds ago", "minutes ago", "hours ago", "days ago", "just now", "Uploading", "Login", "logout", "Admin", "Sticky", "Words", "Please input comments between $0 and $1 words!\n Current word number: $2", "Anonymous", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Search GIF", "Profile", "Approved", "Waiting", "Spam", "Unsticky", "Oldest", "Latest", "Hottest", "What do you think?"]), g = h(["ニックネーム", "3バイト以上のニックネームをご入力ください.", "メールアドレス", "メールアドレスをご確認ください.", "サイト", "オプション", "ここにコメント", "コメントしましょう~", "提出する", "Like", "Cancel like", "返信する", "キャンセル", "コメント", "更新", "さらに読み込む", "プレビュー", "絵文字", "画像をアップロード", "秒前", "分前", "時間前", "日前", "たっだ今", "アップロード", "ログインする", "ログアウト", "管理者", "トップに置く", "ワード", "コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2", "匿名", "うえにん", "なかにん", "しもおし", "特にしもおし", "かげ", "なぬし", "GIF", "探す GIF", "個人情報", "承認済み", "待っている", "スパム", "べたつかない", "逆順", "正順", "人気順", "どう思いますか?"]), m = h(["Apelido", "Apelido não pode ser menor que 3 bytes.", "E-Mail", "Por favor, confirme seu endereço de e-mail.", "Website", "Opcional", "Comente aqui...", "Nenhum comentário, ainda.", "Enviar", "Like", "Cancel like", "Responder", "Cancelar resposta", "Comentários", "Refrescar", "Carregar Mais...", "Visualizar", "Emoji", "Enviar Imagem", "segundos atrás", "minutos atrás", "horas atrás", "dias atrás", "agora mesmo", "Enviando", "Entrar", "Sair", "Admin", "Sticky", "Palavras", "Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2", "Anônimo", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Pesquisar GIF", "informação pessoal", "Aprovado", "Espera", "Spam", "Unsticky", "Mais velho", "Mais recentes", "Mais quente", "O que você acha?"]), v = h(["Псевдоним", "Никнейм не может быть меньше 3 байт.", "Эл. адрес", "Пожалуйста, подтвердите адрес вашей электронной почты.", "Веб-сайт", "Необязательный", "Комментарий здесь...", "Пока нет комментариев.", "Отправить", "Like", "Cancel like", "Отвечать", "Отменить ответ", "Комментарии", "Обновить", "Загрузи больше...", "Превью", "эмодзи", "Загрузить изображение", "секунд назад", "несколько минут назад", "несколько часов назад", "дней назад", "прямо сейчас", "Загрузка", "Авторизоваться", "Выход из системы", "Админ", "Липкий", "Слова", "Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2", "Анонимный", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Поиск GIF", "Персональные данные", "Одобренный", "Ожидающий", "Спам", "Нелипкий", "самый старый", "последний", "самый горячий", "Что вы думаете?"]), y = h(["昵称", "昵称不能少于3个字符", "邮箱", "请填写正确的邮件地址", "网址", "可选", "欢迎评论", "来发评论吧~", "提交", "喜欢", "取消喜欢", "回复", "取消回复", "评论", "刷新", "加载更多...", "预览", "表情", "上传图片", "秒前", "分钟前", "小时前", "天前", "刚刚", "正在上传", "登录", "退出", "博主", "置顶", "字", "评论字数应在 $0 到 $1 字之间!\n当前字数:$2", "匿名", "潜水", "冒泡", "吐槽", "活跃", "话痨", "传说", "表情包", "搜索表情包", "个人资料", "通过", "待审核", "垃圾", "取消置顶", "按倒序", "按正序", "按热度", "你认为这篇文章怎么样?"]), w = h(["暱稱", "暱稱不能少於3個字元", "郵箱", "請填寫正確的郵件地址", "網址", "可選", "歡迎評論", "來發評論吧~", "提交", "喜歡", "取消喜歡", "回覆", "取消回覆", "評論", "刷新", "載入更多...", "預覽", "表情", "上傳圖片", "秒前", "分鐘前", "小時前", "天前", "剛剛", "正在上傳", "登錄", "退出", "博主", "置頂", "字", "評論字數應在 $0 到 $1 字之間!\n當前字數:$2", "匿名", "潛水", "冒泡", "吐槽", "活躍", "話癆", "傳說", "表情包", "搜索表情包", "個人資料", "通過", "待審核", "垃圾", "取消置頂", "按倒序", "按正序", "按熱度", "你認為這篇文章怎麼樣?"]); const b = { zh: y, "zh-cn": y, "zh-CN": y, "zh-tw": w, "zh-TW": w, en: f, "en-US": f, "en-us": f, jp: g, ja: g, "jp-jp": g, "jp-JP": g, "pt-br": m, "pt-BR": m, ru: v, "ru-ru": v, "ru-RU": v }, k = { "Content-Type": "application/json" }, x = (e, t = "") => { if ("object" == typeof e && e.errno) throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`); return e }, _ = ({ serverURL: e, lang: t, paths: n, type: r, signal: l }) => fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=${t}`, { signal: l }).then((e => e.json())), $ = ({ serverURL: e, lang: t, path: n, type: r, action: l }) => fetch(`${e}/article?lang=${t}`, { method: "POST", headers: k, body: JSON.stringify({ path: n, type: r, action: l }) }).then((e => e.json())), C = ({ serverURL: e, lang: t, token: n, objectId: r, comment: l }) => fetch(`${e}/comment/${r}?lang=${t}`, { method: "PUT", headers: { ...k, Authorization: `Bearer ${n}` }, body: JSON.stringify(l) }).then((e => e.json())).then((e => x(e, "Update comment"))), S = e => { try { e = decodeURI(e) } catch (e) { } return e }, R = (e = "") => e.replace(/\/$/u, ""), A = e => /^(https?:)?\/\//.test(e), E = e => { const t = R(e); return A(t) ? t : `https://${t}` }, L = e => Array.isArray(e) ? e : !!e && [0, e], z = (e, t) => "function" == typeof e ? e : !1 !== e && t, I = "{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}", j = (e, t) => { let n = e.toString(); for (; n.length < t;)n = "0" + n; return n }, O = (e, t, n) => { if (!e) return ""; const r = "string" == typeof e ? new Date(-1 !== e.indexOf(" ") ? e.replace(/-/g, "/") : e) : e, l = t.getTime() - r.getTime(), i = Math.floor(l / 864e5); if (0 === i) { const e = l % 864e5, t = Math.floor(e / 36e5); if (0 === t) { const t = e % 36e5, r = Math.floor(t / 6e4); if (0 === r) { const e = t % 6e4; return `${Math.round(e / 1e3)} ${n.seconds}` } return `${r} ${n.minutes}` } return `${t} ${n.hours}` } return i < 0 ? n.now : i < 8 ? `${i} ${n.days}` : (e => { const t = j(e.getDate(), 2), n = j(e.getMonth() + 1, 2); return `${j(e.getFullYear(), 2)}-${n}-${t}` })(r) }; function T(e, t) { const n = Object.create(null), r = e.split(","); for (let e = 0; e < r.length; e++)n[r[e]] = !0; return t ? e => !!n[e.toLowerCase()] : e => !!n[e] } function U(e) { if (ie(e)) { const t = {}; for (let n = 0; n < e.length; n++) { const r = e[n], l = ue(r) ? N(r) : U(r); if (l) for (const e in l) t[e] = l[e] } return t } return ue(e) || de(e) ? e : void 0 } const P = /;(?![^(]*\))/g, M = /:([^]+)/, F = /\/\*.*?\*\//gs; function N(e) { const t = {}; return e.replace(F, "").split(P).forEach((e => { if (e) { const n = e.split(M); n.length > 1 && (t[n[0].trim()] = n[1].trim()) } })), t } function V(e) { let t = ""; if (ue(e)) t = e; else if (ie(e)) for (let n = 0; n < e.length; n++) { const r = V(e[n]); r && (t += r + " ") } else if (de(e)) for (const n in e) e[n] && (t += n + " "); return t.trim() } const D = T("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly"); function H(e) { return !!e || "" === e } function B(e, t) { if (e === t) return !0; let n = ae(e), r = ae(t); if (n || r) return !(!n || !r) && e.getTime() === t.getTime(); if (n = pe(e), r = pe(t), n || r) return e === t; if (n = ie(e), r = ie(t), n || r) return !(!n || !r) && function (e, t) { if (e.length !== t.length) return !1; let n = !0; for (let r = 0; n && r < e.length; r++)n = B(e[r], t[r]); return n }(e, t); if (n = de(e), r = de(t), n || r) { if (!n || !r) return !1; if (Object.keys(e).length !== Object.keys(t).length) return !1; for (const n in e) { const r = e.hasOwnProperty(n), l = t.hasOwnProperty(n); if (r && !l || !r && l || !B(e[n], t[n])) return !1 } } return String(e) === String(t) } function W(e, t) { return e.findIndex((e => B(e, t))) } const q = e => ue(e) ? e : null == e ? "" : ie(e) || de(e) && (e.toString === fe || !ce(e.toString)) ? JSON.stringify(e, Z, 2) : String(e), Z = (e, t) => t && t.__v_isRef ? Z(e, t.value) : se(t) ? { [`Map(${t.size})`]: [...t.entries()].reduce(((e, [t, n]) => (e[`${t} =>`] = n, e)), {}) } : oe(t) ? { [`Set(${t.size})`]: [...t.values()] } : !de(t) || ie(t) || ve(t) ? t : String(t), K = {}, G = [], Q = () => { }, J = () => !1, X = /^on[^a-z]/, Y = e => X.test(e), ee = e => e.startsWith("onUpdate:"), te = Object.assign, ne = (e, t) => { const n = e.indexOf(t); n > -1 && e.splice(n, 1) }, re = Object.prototype.hasOwnProperty, le = (e, t) => re.call(e, t), ie = Array.isArray, se = e => "[object Map]" === ge(e), oe = e => "[object Set]" === ge(e), ae = e => "[object Date]" === ge(e), ce = e => "function" == typeof e, ue = e => "string" == typeof e, pe = e => "symbol" == typeof e, de = e => null !== e && "object" == typeof e, he = e => de(e) && ce(e.then) && ce(e.catch), fe = Object.prototype.toString, ge = e => fe.call(e), me = e => ge(e).slice(8, -1), ve = e => "[object Object]" === ge(e), ye = e => ue(e) && "NaN" !== e && "-" !== e[0] && "" + parseInt(e, 10) === e, we = T(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"), be = e => { const t = Object.create(null); return n => t[n] || (t[n] = e(n)) }, ke = /-(\w)/g, xe = be((e => e.replace(ke, ((e, t) => t ? t.toUpperCase() : "")))), _e = /\B([A-Z])/g, $e = be((e => e.replace(_e, "-$1").toLowerCase())), Ce = be((e => e.charAt(0).toUpperCase() + e.slice(1))), Se = be((e => e ? `on${Ce(e)}` : "")), Re = (e, t) => !Object.is(e, t), Ae = (e, t) => { for (let n = 0; n < e.length; n++)e[n](t) }, Ee = (e, t, n) => { Object.defineProperty(e, t, { configurable: !0, enumerable: !1, value: n }) }, Le = e => { const t = parseFloat(e); return isNaN(t) ? e : t }; let ze; const Ie = () => ze || (ze = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : {}); let je; class Oe { constructor(e = !1) { this.detached = e, this._active = !0, this.effects = [], this.cleanups = [], this.parent = je, !e && je && (this.index = (je.scopes || (je.scopes = [])).push(this) - 1) } get active() { return this._active } run(e) { if (this._active) { const t = je; try { return je = this, e() } finally { je = t } } } on() { je = this } off() { je = this.parent } stop(e) { if (this._active) { let t, n; for (t = 0, n = this.effects.length; t < n; t++)this.effects[t].stop(); for (t = 0, n = this.cleanups.length; t < n; t++)this.cleanups[t](); if (this.scopes) for (t = 0, n = this.scopes.length; t < n; t++)this.scopes[t].stop(!0); if (!this.detached && this.parent && !e) { const e = this.parent.scopes.pop(); e && e !== this && (this.parent.scopes[this.index] = e, e.index = this.index) } this.parent = void 0, this._active = !1 } } } function Te() { return je } const Ue = e => { const t = new Set(e); return t.w = 0, t.n = 0, t }, Pe = e => (e.w & Ve) > 0, Me = e => (e.n & Ve) > 0, Fe = new WeakMap; let Ne = 0, Ve = 1; const De = 30; let He; const Be = Symbol(""), We = Symbol(""); class qe { constructor(e, t = null, n) { this.fn = e, this.scheduler = t, this.active = !0, this.deps = [], this.parent = void 0, function (e, t = je) { t && t.active && t.effects.push(e) }(this, n) } run() { if (!this.active) return this.fn(); let e = He, t = Ke; for (; e;) { if (e === this) return; e = e.parent } try { return this.parent = He, He = this, Ke = !0, Ve = 1 << ++Ne, Ne <= De ? (({ deps: e }) => { if (e.length) for (let t = 0; t < e.length; t++)e[t].w |= Ve })(this) : Ze(this), this.fn() } finally { Ne <= De && (e => { const { deps: t } = e; if (t.length) { let n = 0; for (let r = 0; r < t.length; r++) { const l = t[r]; Pe(l) && !Me(l) ? l.delete(e) : t[n++] = l, l.w &= ~Ve, l.n &= ~Ve } t.length = n } })(this), Ve = 1 << --Ne, He = this.parent, Ke = t, this.parent = void 0, this.deferStop && this.stop() } } stop() { He === this ? this.deferStop = !0 : this.active && (Ze(this), this.onStop && this.onStop(), this.active = !1) } } function Ze(e) { const { deps: t } = e; if (t.length) { for (let n = 0; n < t.length; n++)t[n].delete(e); t.length = 0 } } let Ke = !0; const Ge = []; function Qe() { Ge.push(Ke), Ke = !1 } function Je() { const e = Ge.pop(); Ke = void 0 === e || e } function Xe(e, t, n) { if (Ke && He) { let t = Fe.get(e); t || Fe.set(e, t = new Map); let r = t.get(n); r || t.set(n, r = Ue()), Ye(r) } } function Ye(e, t) { let n = !1; Ne <= De ? Me(e) || (e.n |= Ve, n = !Pe(e)) : n = !e.has(He), n && (e.add(He), He.deps.push(e)) } function et(e, t, n, r, l, i) { const s = Fe.get(e); if (!s) return; let o = []; if ("clear" === t) o = [...s.values()]; else if ("length" === n && ie(e)) { const e = Number(r); s.forEach(((t, n) => { ("length" === n || n >= e) && o.push(t) })) } else switch (void 0 !== n && o.push(s.get(n)), t) { case "add": ie(e) ? ye(n) && o.push(s.get("length")) : (o.push(s.get(Be)), se(e) && o.push(s.get(We))); break; case "delete": ie(e) || (o.push(s.get(Be)), se(e) && o.push(s.get(We))); break; case "set": se(e) && o.push(s.get(Be)) }if (1 === o.length) o[0] && tt(o[0]); else { const e = []; for (const t of o) t && e.push(...t); tt(Ue(e)) } } function tt(e, t) { const n = ie(e) ? e : [...e]; for (const e of n) e.computed && nt(e); for (const e of n) e.computed || nt(e) } function nt(e, t) { (e !== He || e.allowRecurse) && (e.scheduler ? e.scheduler() : e.run()) } const rt = T("__proto__,__v_isRef,__isVue"), lt = new Set(Object.getOwnPropertyNames(Symbol).filter((e => "arguments" !== e && "caller" !== e)).map((e => Symbol[e])).filter(pe)), it = pt(), st = pt(!1, !0), ot = pt(!0), at = ct(); function ct() { const e = {}; return ["includes", "indexOf", "lastIndexOf"].forEach((t => { e[t] = function (...e) { const n = Kt(this); for (let e = 0, t = this.length; e < t; e++)Xe(n, 0, e + ""); const r = n[t](...e); return -1 === r || !1 === r ? n[t](...e.map(Kt)) : r } })), ["push", "pop", "shift", "unshift", "splice"].forEach((t => { e[t] = function (...e) { Qe(); const n = Kt(this)[t].apply(this, e); return Je(), n } })), e } function ut(e) { const t = Kt(this); return Xe(t, 0, e), t.hasOwnProperty(e) } function pt(e = !1, t = !1) { return function (n, r, l) { if ("__v_isReactive" === r) return !e; if ("__v_isReadonly" === r) return e; if ("__v_isShallow" === r) return t; if ("__v_raw" === r && l === (e ? t ? Nt : Ft : t ? Mt : Pt).get(n)) return n; const i = ie(n); if (!e) { if (i && le(at, r)) return Reflect.get(at, r, l); if ("hasOwnProperty" === r) return ut } const s = Reflect.get(n, r, l); return (pe(r) ? lt.has(r) : rt(r)) ? s : (e || Xe(n, 0, r), t ? s : en(s) ? i && ye(r) ? s : s.value : de(s) ? e ? Dt(s) : Vt(s) : s) } } function dt(e = !1) { return function (t, n, r, l) { let i = t[n]; if (Wt(i) && en(i) && !en(r)) return !1; if (!e && (qt(r) || Wt(r) || (i = Kt(i), r = Kt(r)), !ie(t) && en(i) && !en(r))) return i.value = r, !0; const s = ie(t) && ye(n) ? Number(n) < t.length : le(t, n), o = Reflect.set(t, n, r, l); return t === Kt(l) && (s ? Re(r, i) && et(t, "set", n, r) : et(t, "add", n, r)), o } } const ht = { get: it, set: dt(), deleteProperty: function (e, t) { const n = le(e, t), r = Reflect.deleteProperty(e, t); return r && n && et(e, "delete", t, void 0), r }, has: function (e, t) { const n = Reflect.has(e, t); return pe(t) && lt.has(t) || Xe(e, 0, t), n }, ownKeys: function (e) { return Xe(e, 0, ie(e) ? "length" : Be), Reflect.ownKeys(e) } }, ft = { get: ot, set: (e, t) => !0, deleteProperty: (e, t) => !0 }, gt = te({}, ht, { get: st, set: dt(!0) }), mt = e => e, vt = e => Reflect.getPrototypeOf(e); function yt(e, t, n = !1, r = !1) { const l = Kt(e = e.__v_raw), i = Kt(t); n || (t !== i && Xe(l, 0, t), Xe(l, 0, i)); const { has: s } = vt(l), o = r ? mt : n ? Jt : Qt; return s.call(l, t) ? o(e.get(t)) : s.call(l, i) ? o(e.get(i)) : void (e !== l && e.get(t)) } function wt(e, t = !1) { const n = this.__v_raw, r = Kt(n), l = Kt(e); return t || (e !== l && Xe(r, 0, e), Xe(r, 0, l)), e === l ? n.has(e) : n.has(e) || n.has(l) } function bt(e, t = !1) { return e = e.__v_raw, !t && Xe(Kt(e), 0, Be), Reflect.get(e, "size", e) } function kt(e) { e = Kt(e); const t = Kt(this); return vt(t).has.call(t, e) || (t.add(e), et(t, "add", e, e)), this } function xt(e, t) { t = Kt(t); const n = Kt(this), { has: r, get: l } = vt(n); let i = r.call(n, e); i || (e = Kt(e), i = r.call(n, e)); const s = l.call(n, e); return n.set(e, t), i ? Re(t, s) && et(n, "set", e, t) : et(n, "add", e, t), this } function _t(e) { const t = Kt(this), { has: n, get: r } = vt(t); let l = n.call(t, e); l || (e = Kt(e), l = n.call(t, e)), r && r.call(t, e); const i = t.delete(e); return l && et(t, "delete", e, void 0), i } function $t() { const e = Kt(this), t = 0 !== e.size, n = e.clear(); return t && et(e, "clear", void 0, void 0), n } function Ct(e, t) { return function (n, r) { const l = this, i = l.__v_raw, s = Kt(i), o = t ? mt : e ? Jt : Qt; return !e && Xe(s, 0, Be), i.forEach(((e, t) => n.call(r, o(e), o(t), l))) } } function St(e, t, n) { return function (...r) { const l = this.__v_raw, i = Kt(l), s = se(i), o = "entries" === e || e === Symbol.iterator && s, a = "keys" === e && s, c = l[e](...r), u = n ? mt : t ? Jt : Qt; return !t && Xe(i, 0, a ? We : Be), { next() { const { value: e, done: t } = c.next(); return t ? { value: e, done: t } : { value: o ? [u(e[0]), u(e[1])] : u(e), done: t } }, [Symbol.iterator]() { return this } } } } function Rt(e) { return function (...t) { return "delete" !== e && this } } function At() { const e = { get(e) { return yt(this, e) }, get size() { return bt(this) }, has: wt, add: kt, set: xt, delete: _t, clear: $t, forEach: Ct(!1, !1) }, t = { get(e) { return yt(this, e, !1, !0) }, get size() { return bt(this) }, has: wt, add: kt, set: xt, delete: _t, clear: $t, forEach: Ct(!1, !0) }, n = { get(e) { return yt(this, e, !0) }, get size() { return bt(this, !0) }, has(e) { return wt.call(this, e, !0) }, add: Rt("add"), set: Rt("set"), delete: Rt("delete"), clear: Rt("clear"), forEach: Ct(!0, !1) }, r = { get(e) { return yt(this, e, !0, !0) }, get size() { return bt(this, !0) }, has(e) { return wt.call(this, e, !0) }, add: Rt("add"), set: Rt("set"), delete: Rt("delete"), clear: Rt("clear"), forEach: Ct(!0, !0) }; return ["keys", "values", "entries", Symbol.iterator].forEach((l => { e[l] = St(l, !1, !1), n[l] = St(l, !0, !1), t[l] = St(l, !1, !0), r[l] = St(l, !0, !0) })), [e, n, t, r] } const [Et, Lt, zt, It] = At(); function jt(e, t) { const n = t ? e ? It : zt : e ? Lt : Et; return (t, r, l) => "__v_isReactive" === r ? !e : "__v_isReadonly" === r ? e : "__v_raw" === r ? t : Reflect.get(le(n, r) && r in t ? n : t, r, l) } const Ot = { get: jt(!1, !1) }, Tt = { get: jt(!1, !0) }, Ut = { get: jt(!0, !1) }, Pt = new WeakMap, Mt = new WeakMap, Ft = new WeakMap, Nt = new WeakMap; function Vt(e) { return Wt(e) ? e : Ht(e, !1, ht, Ot, Pt) } function Dt(e) { return Ht(e, !0, ft, Ut, Ft) } function Ht(e, t, n, r, l) { if (!de(e)) return e; if (e.__v_raw && (!t || !e.__v_isReactive)) return e; const i = l.get(e); if (i) return i; const s = (o = e).__v_skip || !Object.isExtensible(o) ? 0 : function (e) { switch (e) { case "Object": case "Array": return 1; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2; default: return 0 } }(me(o)); var o; if (0 === s) return e; const a = new Proxy(e, 2 === s ? r : n); return l.set(e, a), a } function Bt(e) { return Wt(e) ? Bt(e.__v_raw) : !(!e || !e.__v_isReactive) } function Wt(e) { return !(!e || !e.__v_isReadonly) } function qt(e) { return !(!e || !e.__v_isShallow) } function Zt(e) { return Bt(e) || Wt(e) } function Kt(e) { const t = e && e.__v_raw; return t ? Kt(t) : e } function Gt(e) { return Ee(e, "__v_skip", !0), e } const Qt = e => de(e) ? Vt(e) : e, Jt = e => de(e) ? Dt(e) : e; function Xt(e) { Ke && He && Ye((e = Kt(e)).dep || (e.dep = Ue())) } function Yt(e, t) { const n = (e = Kt(e)).dep; n && tt(n) } function en(e) { return !(!e || !0 !== e.__v_isRef) } function tn(e) { return rn(e, !1) } function nn(e) { return rn(e, !0) } function rn(e, t) { return en(e) ? e : new ln(e, t) } class ln { constructor(e, t) { this.__v_isShallow = t, this.dep = void 0, this.__v_isRef = !0, this._rawValue = t ? e : Kt(e), this._value = t ? e : Qt(e) } get value() { return Xt(this), this._value } set value(e) { const t = this.__v_isShallow || qt(e) || Wt(e); e = t ? e : Kt(e), Re(e, this._rawValue) && (this._rawValue = e, this._value = t ? e : Qt(e), Yt(this)) } } function sn(e) { return en(e) ? e.value : e } const on = { get: (e, t, n) => sn(Reflect.get(e, t, n)), set: (e, t, n, r) => { const l = e[t]; return en(l) && !en(n) ? (l.value = n, !0) : Reflect.set(e, t, n, r) } }; function an(e) { return Bt(e) ? e : new Proxy(e, on) } var cn; class un { constructor(e, t, n, r) { this._setter = t, this.dep = void 0, this.__v_isRef = !0, this[cn] = !1, this._dirty = !0, this.effect = new qe(e, (() => { this._dirty || (this._dirty = !0, Yt(this)) })), this.effect.computed = this, this.effect.active = this._cacheable = !r, this.__v_isReadonly = n } get value() { const e = Kt(this); return Xt(e), !e._dirty && e._cacheable || (e._dirty = !1, e._value = e.effect.run()), e._value } set value(e) { this._setter(e) } } function pn(e, t, n, r) { let l; try { l = r ? e(...r) : e() } catch (e) { hn(e, t, n) } return l } function dn(e, t, n, r) { if (ce(e)) { const l = pn(e, t, n, r); return l && he(l) && l.catch((e => { hn(e, t, n) })), l } const l = []; for (let i = 0; i < e.length; i++)l.push(dn(e[i], t, n, r)); return l } function hn(e, t, n, r = !0) { t && t.vnode; if (t) { let r = t.parent; const l = t.proxy, i = n; for (; r;) { const t = r.ec; if (t) for (let n = 0; n < t.length; n++)if (!1 === t[n](e, l, i)) return; r = r.parent } const s = t.appContext.config.errorHandler; if (s) return void pn(s, null, 10, [e, l, i]) } !function (e, t, n, r = !0) { console.error(e) }(e, 0, 0, r) } cn = "__v_isReadonly"; let fn = !1, gn = !1; const mn = []; let vn = 0; const yn = []; let wn = null, bn = 0; const kn = Promise.resolve(); let xn = null; function _n(e) { const t = xn || kn; return e ? t.then(this ? e.bind(this) : e) : t } function $n(e) { mn.length && mn.includes(e, fn && e.allowRecurse ? vn + 1 : vn) || (null == e.id ? mn.push(e) : mn.splice(function (e) { let t = vn + 1, n = mn.length; for (; t < n;) { const r = t + n >>> 1; An(mn[r]) < e ? t = r + 1 : n = r } return t }(e.id), 0, e), Cn()) } function Cn() { fn || gn || (gn = !0, xn = kn.then(Ln)) } function Sn(e, t = (fn ? vn + 1 : 0)) { for (; t < mn.length; t++) { const e = mn[t]; e && e.pre && (mn.splice(t, 1), t--, e()) } } function Rn(e) { if (yn.length) { const e = [...new Set(yn)]; if (yn.length = 0, wn) return void wn.push(...e); for (wn = e, wn.sort(((e, t) => An(e) - An(t))), bn = 0; bn < wn.length; bn++)wn[bn](); wn = null, bn = 0 } } const An = e => null == e.id ? 1 / 0 : e.id, En = (e, t) => { const n = An(e) - An(t); if (0 === n) { if (e.pre && !t.pre) return -1; if (t.pre && !e.pre) return 1 } return n }; function Ln(e) { gn = !1, fn = !0, mn.sort(En); try { for (vn = 0; vn < mn.length; vn++) { const e = mn[vn]; e && !1 !== e.active && pn(e, null, 14) } } finally { vn = 0, mn.length = 0, Rn(), fn = !1, xn = null, (mn.length || yn.length) && Ln() } } function zn(e, t, ...n) { if (e.isUnmounted) return; const r = e.vnode.props || K; let l = n; const i = t.startsWith("update:"), s = i && t.slice(7); if (s && s in r) { const e = `${"modelValue" === s ? "model" : s}Modifiers`, { number: t, trim: i } = r[e] || K; i && (l = n.map((e => ue(e) ? e.trim() : e))), t && (l = n.map(Le)) } let o, a = r[o = Se(t)] || r[o = Se(xe(t))]; !a && i && (a = r[o = Se($e(t))]), a && dn(a, e, 6, l); const c = r[o + "Once"]; if (c) { if (e.emitted) { if (e.emitted[o]) return } else e.emitted = {}; e.emitted[o] = !0, dn(c, e, 6, l) } } function In(e, t, n = !1) { const r = t.emitsCache, l = r.get(e); if (void 0 !== l) return l; const i = e.emits; let s = {}; return i ? (ie(i) ? i.forEach((e => s[e] = null)) : te(s, i), de(e) && r.set(e, s), s) : (de(e) && r.set(e, null), null) } function jn(e, t) { return !(!e || !Y(t)) && (t = t.slice(2).replace(/Once$/, ""), le(e, t[0].toLowerCase() + t.slice(1)) || le(e, $e(t)) || le(e, t)) } let On = null, Tn = null; function Un(e) { const t = On; return On = e, Tn = e && e.type.__scopeId || null, t } function Pn(e) { const { type: t, vnode: n, proxy: r, withProxy: l, props: i, propsOptions: [s], slots: o, attrs: a, emit: c, render: u, renderCache: p, data: d, setupState: h, ctx: f, inheritAttrs: g } = e; let m, v; const y = Un(e); try { if (4 & n.shapeFlag) { const e = l || r; m = al(u.call(e, e, p, i, h, d, f)), v = a } else { const e = t; m = al(e.length > 1 ? e(i, { attrs: a, slots: o, emit: c }) : e(i, null)), v = t.props ? a : Mn(a) } } catch (t) { Br.length = 0, hn(t, e, 1), m = ll(Dr) } let w = m; if (v && !1 !== g) { const e = Object.keys(v), { shapeFlag: t } = w; e.length && 7 & t && (s && e.some(ee) && (v = Fn(v, s)), w = il(w, v)) } return n.dirs && (w = il(w), w.dirs = w.dirs ? w.dirs.concat(n.dirs) : n.dirs), n.transition && (w.transition = n.transition), m = w, Un(y), m } const Mn = e => { let t; for (const n in e) ("class" === n || "style" === n || Y(n)) && ((t || (t = {}))[n] = e[n]); return t }, Fn = (e, t) => { const n = {}; for (const r in e) ee(r) && r.slice(9) in t || (n[r] = e[r]); return n }; function Nn(e, t, n) { const r = Object.keys(t); if (r.length !== Object.keys(e).length) return !0; for (let l = 0; l < r.length; l++) { const i = r[l]; if (t[i] !== e[i] && !jn(n, i)) return !0 } return !1 } function Vn(e, t, n = !1) { const r = fl || On; if (r) { const l = null == r.parent ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides; if (l && e in l) return l[e]; if (arguments.length > 1) return n && ce(t) ? t.call(r.proxy) : t } } function Dn(e, t) { return Wn(e, null, t) } const Hn = {}; function Bn(e, t, n) { return Wn(e, t, n) } function Wn(e, t, { immediate: n, deep: r, flush: l, onTrack: i, onTrigger: s } = K) { const o = Te() === (null == fl ? void 0 : fl.scope) ? fl : null; let a, c, u = !1, p = !1; if (en(e) ? (a = () => e.value, u = qt(e)) : Bt(e) ? (a = () => e, r = !0) : ie(e) ? (p = !0, u = e.some((e => Bt(e) || qt(e))), a = () => e.map((e => en(e) ? e.value : Bt(e) ? qn(e) : ce(e) ? pn(e, o, 2) : void 0))) : a = ce(e) ? t ? () => pn(e, o, 2) : () => { if (!o || !o.isUnmounted) return c && c(), dn(e, o, 3, [h]) } : Q, t && r) { const e = a; a = () => qn(e()) } let d, h = e => { c = v.onStop = () => { pn(e, o, 4) } }; if (bl) { if (h = Q, t ? n && dn(t, o, 3, [a(), p ? [] : void 0, h]) : a(), "sync" !== l) return Q; { const e = Rl(); d = e.__watcherHandles || (e.__watcherHandles = []) } } let f = p ? new Array(e.length).fill(Hn) : Hn; const g = () => { if (v.active) if (t) { const e = v.run(); (r || u || (p ? e.some(((e, t) => Re(e, f[t]))) : Re(e, f))) && (c && c(), dn(t, o, 3, [e, f === Hn ? void 0 : p && f[0] === Hn ? [] : f, h]), f = e) } else v.run() }; let m; g.allowRecurse = !!t, "sync" === l ? m = g : "post" === l ? m = () => Ur(g, o && o.suspense) : (g.pre = !0, o && (g.id = o.uid), m = () => $n(g)); const v = new qe(a, m); t ? n ? g() : f = v.run() : "post" === l ? Ur(v.run.bind(v), o && o.suspense) : v.run(); const y = () => { v.stop(), o && o.scope && ne(o.scope.effects, v) }; return d && d.push(y), y } function qn(e, t) { if (!de(e) || e.__v_skip) return e; if ((t = t || new Set).has(e)) return e; if (t.add(e), en(e)) qn(e.value, t); else if (ie(e)) for (let n = 0; n < e.length; n++)qn(e[n], t); else if (oe(e) || se(e)) e.forEach((e => { qn(e, t) })); else if (ve(e)) for (const n in e) qn(e[n], t); return e } function Zn(e) { return ce(e) ? { setup: e, name: e.name } : e } const Kn = e => !!e.type.__asyncLoader, Gn = e => e.type.__isKeepAlive; const Qn = e => (t, n = fl) => (!bl || "sp" === e) && function (e, t, n = fl, r = !1) { if (n) { const l = n[e] || (n[e] = []), i = t.__weh || (t.__weh = (...r) => { if (n.isUnmounted) return; Qe(), ml(n); const l = dn(t, n, e, r); return vl(), Je(), l }); return r ? l.unshift(i) : l.push(i), i } }(e, ((...e) => t(...e)), n), Jn = Qn("m"), Xn = Qn("bum"), Yn = Qn("um"); function er(e, t) { const n = On; if (null === n) return e; const r = _l(n) || n.proxy, l = e.dirs || (e.dirs = []); for (let e = 0; e < t.length; e++) { let [n, i, s, o = K] = t[e]; n && (ce(n) && (n = { mounted: n, updated: n }), n.deep && qn(i), l.push({ dir: n, instance: r, value: i, oldValue: void 0, arg: s, modifiers: o })) } return e } function tr(e, t, n, r) { const l = e.dirs, i = t && t.dirs; for (let s = 0; s < l.length; s++) { const o = l[s]; i && (o.oldValue = i[s].value); let a = o.dir[r]; a && (Qe(), dn(a, n, 8, [e.el, o, e, t]), Je()) } } const nr = "components"; function rr(e, t) { return function (e, t, n = !0, r = !1) { const l = On || fl; if (l) { const n = l.type; if (e === nr) { const e = function (e, t = !0) { return ce(e) ? e.displayName || e.name : e.name || t && e.__name }(n, !1); if (e && (e === t || e === xe(t) || e === Ce(xe(t)))) return n } const i = ir(l[e] || n[e], t) || ir(l.appContext[e], t); return !i && r ? n : i } }(nr, e, !0, t) || e } const lr = Symbol(); function ir(e, t) { return e && (e[t] || e[xe(t)] || e[Ce(xe(t))]) } function sr(e, t, n, r) { let l; const i = n && n[r]; if (ie(e) || ue(e)) { l = new Array(e.length); for (let n = 0, r = e.length; n < r; n++)l[n] = t(e[n], n, void 0, i && i[n]) } else if ("number" == typeof e) { l = new Array(e); for (let n = 0; n < e; n++)l[n] = t(n + 1, n, void 0, i && i[n]) } else if (de(e)) if (e[Symbol.iterator]) l = Array.from(e, ((e, n) => t(e, n, void 0, i && i[n]))); else { const n = Object.keys(e); l = new Array(n.length); for (let r = 0, s = n.length; r < s; r++) { const s = n[r]; l[r] = t(e[s], s, r, i && i[r]) } } else l = []; return n && (n[r] = l), l } const or = e => e ? yl(e) ? _l(e) || e.proxy : or(e.parent) : null, ar = te(Object.create(null), { $: e => e, $el: e => e.vnode.el, $data: e => e.data, $props: e => e.props, $attrs: e => e.attrs, $slots: e => e.slots, $refs: e => e.refs, $parent: e => or(e.parent), $root: e => or(e.root), $emit: e => e.emit, $options: e => e.type, $forceUpdate: e => e.f || (e.f = () => $n(e.update)), $nextTick: e => e.n || (e.n = _n.bind(e.proxy)), $watch: e => Q }), cr = (e, t) => e !== K && !e.__isScriptSetup && le(e, t), ur = { get({ _: e }, t) { const { ctx: n, setupState: r, data: l, props: i, accessCache: s, type: o, appContext: a } = e; let c; if ("$" !== t[0]) { const o = s[t]; if (void 0 !== o) switch (o) { case 1: return r[t]; case 2: return l[t]; case 4: return n[t]; case 3: return i[t] } else { if (cr(r, t)) return s[t] = 1, r[t]; if (l !== K && le(l, t)) return s[t] = 2, l[t]; if ((c = e.propsOptions[0]) && le(c, t)) return s[t] = 3, i[t]; if (n !== K && le(n, t)) return s[t] = 4, n[t]; s[t] = 0 } } const u = ar[t]; let p, d; return u ? ("$attrs" === t && Xe(e, 0, t), u(e)) : (p = o.__cssModules) && (p = p[t]) ? p : n !== K && le(n, t) ? (s[t] = 4, n[t]) : (d = a.config.globalProperties, le(d, t) ? d[t] : void 0) }, set({ _: e }, t, n) { const { data: r, setupState: l, ctx: i } = e; return cr(l, t) ? (l[t] = n, !0) : r !== K && le(r, t) ? (r[t] = n, !0) : !le(e.props, t) && (("$" !== t[0] || !(t.slice(1) in e)) && (i[t] = n, !0)) }, has({ _: { data: e, setupState: t, accessCache: n, ctx: r, appContext: l, propsOptions: i } }, s) { let o; return !!n[s] || e !== K && le(e, s) || cr(t, s) || (o = i[0]) && le(o, s) || le(r, s) || le(ar, s) || le(l.config.globalProperties, s) }, defineProperty(e, t, n) { return null != n.get ? e._.accessCache[t] = 0 : le(n, "value") && this.set(e, t, n.value, null), Reflect.defineProperty(e, t, n) } }; function pr(e, t, n, r = !1) { const { mixins: l, extends: i } = t; i && pr(e, i, n, !0), l && l.forEach((t => pr(e, t, n, !0))); for (const l in t) if (r && "expose" === l); else { const r = dr[l] || n && n[l]; e[l] = r ? r(e[l], t[l]) : t[l] } return e } const dr = { data: hr, props: mr, emits: mr, methods: mr, computed: mr, beforeCreate: gr, created: gr, beforeMount: gr, mounted: gr, beforeUpdate: gr, updated: gr, beforeDestroy: gr, beforeUnmount: gr, destroyed: gr, unmounted: gr, activated: gr, deactivated: gr, errorCaptured: gr, serverPrefetch: gr, components: mr, directives: mr, watch: function (e, t) { if (!e) return t; if (!t) return e; const n = te(Object.create(null), e); for (const r in t) n[r] = gr(e[r], t[r]); return n }, provide: hr, inject: function (e, t) { return mr(fr(e), fr(t)) } }; function hr(e, t) { return t ? e ? function () { return te(ce(e) ? e.call(this, this) : e, ce(t) ? t.call(this, this) : t) } : t : e } function fr(e) { if (ie(e)) { const t = {}; for (let n = 0; n < e.length; n++)t[e[n]] = e[n]; return t } return e } function gr(e, t) { return e ? [...new Set([].concat(e, t))] : t } function mr(e, t) { return e ? te(te(Object.create(null), e), t) : t } function vr(e, t, n, r = !1) { const l = {}, i = {}; Ee(i, el, 1), e.propsDefaults = Object.create(null), yr(e, t, l, i); for (const t in e.propsOptions[0]) t in l || (l[t] = void 0); n ? e.props = r ? l : Ht(l, !1, gt, Tt, Mt) : e.type.props ? e.props = l : e.props = i, e.attrs = i } function yr(e, t, n, r) { const [l, i] = e.propsOptions; let s, o = !1; if (t) for (let a in t) { if (we(a)) continue; const c = t[a]; let u; l && le(l, u = xe(a)) ? i && i.includes(u) ? (s || (s = {}))[u] = c : n[u] = c : jn(e.emitsOptions, a) || a in r && c === r[a] || (r[a] = c, o = !0) } if (i) { const t = Kt(n), r = s || K; for (let s = 0; s < i.length; s++) { const o = i[s]; n[o] = wr(l, t, o, r[o], e, !le(r, o)) } } return o } function wr(e, t, n, r, l, i) { const s = e[n]; if (null != s) { const e = le(s, "default"); if (e && void 0 === r) { const e = s.default; if (s.type !== Function && ce(e)) { const { propsDefaults: i } = l; n in i ? r = i[n] : (ml(l), r = i[n] = e.call(null, t), vl()) } else r = e } s[0] && (i && !e ? r = !1 : !s[1] || "" !== r && r !== $e(n) || (r = !0)) } return r } function br(e, t, n = !1) { const r = t.propsCache, l = r.get(e); if (l) return l; const i = e.props, s = {}, o = []; if (!i) return de(e) && r.set(e, G), G; if (ie(i)) for (let e = 0; e < i.length; e++) { const t = xe(i[e]); kr(t) && (s[t] = K) } else if (i) for (const e in i) { const t = xe(e); if (kr(t)) { const n = i[e], r = s[t] = ie(n) || ce(n) ? { type: n } : Object.assign({}, n); if (r) { const e = $r(Boolean, r.type), n = $r(String, r.type); r[0] = e > -1, r[1] = n < 0 || e < n, (e > -1 || le(r, "default")) && o.push(t) } } } const a = [s, o]; return de(e) && r.set(e, a), a } function kr(e) { return "$" !== e[0] } function xr(e) { const t = e && e.toString().match(/^\s*(function|class) (\w+)/); return t ? t[2] : null === e ? "null" : "" } function _r(e, t) { return xr(e) === xr(t) } function $r(e, t) { return ie(t) ? t.findIndex((t => _r(t, e))) : ce(t) && _r(t, e) ? 0 : -1 } const Cr = e => "_" === e[0] || "$stable" === e, Sr = e => ie(e) ? e.map(al) : [al(e)], Rr = (e, t, n) => { if (t._n) return t; const r = function (e, t = On, n) { if (!t) return e; if (e._n) return e; const r = (...n) => { r._d && Kr(-1); const l = Un(t); let i; try { i = e(...n) } finally { Un(l), r._d && Kr(1) } return i }; return r._n = !0, r._c = !0, r._d = !0, r }(((...e) => Sr(t(...e))), n); return r._c = !1, r }, Ar = (e, t, n) => { const r = e._ctx; for (const n in e) { if (Cr(n)) continue; const l = e[n]; if (ce(l)) t[n] = Rr(0, l, r); else if (null != l) { const e = Sr(l); t[n] = () => e } } }, Er = (e, t) => { const n = Sr(t); e.slots.default = () => n }, Lr = (e, t) => { if (32 & e.vnode.shapeFlag) { const n = t._; n ? (e.slots = Kt(t), Ee(t, "_", n)) : Ar(t, e.slots = {}) } else e.slots = {}, t && Er(e, t); Ee(e.slots, el, 1) }, zr = (e, t, n) => { const { vnode: r, slots: l } = e; let i = !0, s = K; if (32 & r.shapeFlag) { const e = t._; e ? n && 1 === e ? i = !1 : (te(l, t), n || 1 !== e || delete l._) : (i = !t.$stable, Ar(t, l)), s = t } else t && (Er(e, t), s = { default: 1 }); if (i) for (const e in l) Cr(e) || e in s || delete l[e] }; function Ir() { return { app: null, config: { isNativeTag: J, performance: !1, globalProperties: {}, optionMergeStrategies: {}, errorHandler: void 0, warnHandler: void 0, compilerOptions: {} }, mixins: [], components: {}, directives: {}, provides: Object.create(null), optionsCache: new WeakMap, propsCache: new WeakMap, emitsCache: new WeakMap } } let jr = 0; function Or(e, t) { return function (n, r = null) { ce(n) || (n = Object.assign({}, n)), null == r || de(r) || (r = null); const l = Ir(), i = new Set; let s = !1; const o = l.app = { _uid: jr++, _component: n, _props: r, _container: null, _context: l, _instance: null, version: Al, get config() { return l.config }, set config(e) { }, use: (e, ...t) => (i.has(e) || (e && ce(e.install) ? (i.add(e), e.install(o, ...t)) : ce(e) && (i.add(e), e(o, ...t))), o), mixin: e => o, component: (e, t) => t ? (l.components[e] = t, o) : l.components[e], directive: (e, t) => t ? (l.directives[e] = t, o) : l.directives[e], mount(i, a, c) { if (!s) { const u = ll(n, r); return u.appContext = l, a && t ? t(u, i) : e(u, i, c), s = !0, o._container = i, i.__vue_app__ = o, _l(u.component) || u.component.proxy } }, unmount() { s && (e(null, o._container), delete o._container.__vue_app__) }, provide: (e, t) => (l.provides[e] = t, o) }; return o } } function Tr(e, t, n, r, l = !1) { if (ie(e)) return void e.forEach(((e, i) => Tr(e, t && (ie(t) ? t[i] : t), n, r, l))); if (Kn(r) && !l) return; const i = 4 & r.shapeFlag ? _l(r.component) || r.component.proxy : r.el, s = l ? null : i, { i: o, r: a } = e, c = t && t.r, u = o.refs === K ? o.refs = {} : o.refs, p = o.setupState; if (null != c && c !== a && (ue(c) ? (u[c] = null, le(p, c) && (p[c] = null)) : en(c) && (c.value = null)), ce(a)) pn(a, o, 12, [s, u]); else { const t = ue(a), r = en(a); if (t || r) { const o = () => { if (e.f) { const n = t ? le(p, a) ? p[a] : u[a] : a.value; l ? ie(n) && ne(n, i) : ie(n) ? n.includes(i) || n.push(i) : t ? (u[a] = [i], le(p, a) && (p[a] = u[a])) : (a.value = [i], e.k && (u[e.k] = a.value)) } else t ? (u[a] = s, le(p, a) && (p[a] = s)) : r && (a.value = s, e.k && (u[e.k] = s)) }; s ? (o.id = -1, Ur(o, n)) : o() } } } const Ur = function (e, t) { var n; t && t.pendingBranch ? ie(e) ? t.effects.push(...e) : t.effects.push(e) : (ie(n = e) ? yn.push(...n) : wn && wn.includes(n, n.allowRecurse ? bn + 1 : bn) || yn.push(n), Cn()) }; function Pr(e) { return function (e, t) { Ie().__VUE__ = !0; const { insert: n, remove: r, patchProp: l, createElement: i, createText: s, createComment: o, setText: a, setElementText: c, parentNode: u, nextSibling: p, setScopeId: d = Q, insertStaticContent: h } = e, f = (e, t, n, r = null, l = null, i = null, s = !1, o = null, a = !!t.dynamicChildren) => { if (e === t) return; e && !Yr(e, t) && (r = D(e), P(e, l, i, !0), e = null), -2 === t.patchFlag && (a = !1, t.dynamicChildren = null); const { type: c, ref: u, shapeFlag: p } = t; switch (c) { case Vr: g(e, t, n, r); break; case Dr: m(e, t, n, r); break; case Hr: null == e && v(t, n, r, s); break; case Nr: R(e, t, n, r, l, i, s, o, a); break; default: 1 & p ? b(e, t, n, r, l, i, s, o, a) : 6 & p ? A(e, t, n, r, l, i, s, o, a) : (64 & p || 128 & p) && c.process(e, t, n, r, l, i, s, o, a, B) }null != u && l && Tr(u, e && e.ref, i, t || e, !t) }, g = (e, t, r, l) => { if (null == e) n(t.el = s(t.children), r, l); else { const n = t.el = e.el; t.children !== e.children && a(n, t.children) } }, m = (e, t, r, l) => { null == e ? n(t.el = o(t.children || ""), r, l) : t.el = e.el }, v = (e, t, n, r) => { [e.el, e.anchor] = h(e.children, t, n, r, e.el, e.anchor) }, y = ({ el: e, anchor: t }, r, l) => { let i; for (; e && e !== t;)i = p(e), n(e, r, l), e = i; n(t, r, l) }, w = ({ el: e, anchor: t }) => { let n; for (; e && e !== t;)n = p(e), r(e), e = n; r(t) }, b = (e, t, n, r, l, i, s, o, a) => { s = s || "svg" === t.type, null == e ? k(t, n, r, l, i, s, o, a) : $(e, t, l, i, s, o, a) }, k = (e, t, r, s, o, a, u, p) => { let d, h; const { type: f, props: g, shapeFlag: m, transition: v, dirs: y } = e; if (d = e.el = i(e.type, a, g && g.is, g), 8 & m ? c(d, e.children) : 16 & m && _(e.children, d, null, s, o, a && "foreignObject" !== f, u, p), y && tr(e, null, s, "created"), x(d, e, e.scopeId, u, s), g) { for (const t in g) "value" === t || we(t) || l(d, t, null, g[t], a, e.children, s, o, V); "value" in g && l(d, "value", null, g.value), (h = g.onVnodeBeforeMount) && pl(h, s, e) } y && tr(e, null, s, "beforeMount"); const w = (!o || o && !o.pendingBranch) && v && !v.persisted; w && v.beforeEnter(d), n(d, t, r), ((h = g && g.onVnodeMounted) || w || y) && Ur((() => { h && pl(h, s, e), w && v.enter(d), y && tr(e, null, s, "mounted") }), o) }, x = (e, t, n, r, l) => { if (n && d(e, n), r) for (let t = 0; t < r.length; t++)d(e, r[t]); if (l) { if (t === l.subTree) { const t = l.vnode; x(e, t, t.scopeId, t.slotScopeIds, l.parent) } } }, _ = (e, t, n, r, l, i, s, o, a = 0) => { for (let c = a; c < e.length; c++) { const a = e[c] = o ? cl(e[c]) : al(e[c]); f(null, a, t, n, r, l, i, s, o) } }, $ = (e, t, n, r, i, s, o) => { const a = t.el = e.el; let { patchFlag: u, dynamicChildren: p, dirs: d } = t; u |= 16 & e.patchFlag; const h = e.props || K, f = t.props || K; let g; n && Mr(n, !1), (g = f.onVnodeBeforeUpdate) && pl(g, n, t, e), d && tr(t, e, n, "beforeUpdate"), n && Mr(n, !0); const m = i && "foreignObject" !== t.type; if (p ? C(e.dynamicChildren, p, a, n, r, m, s) : o || j(e, t, a, null, n, r, m, s, !1), u > 0) { if (16 & u) S(a, t, h, f, n, r, i); else if (2 & u && h.class !== f.class && l(a, "class", null, f.class, i), 4 & u && l(a, "style", h.style, f.style, i), 8 & u) { const s = t.dynamicProps; for (let t = 0; t < s.length; t++) { const o = s[t], c = h[o], u = f[o]; u === c && "value" !== o || l(a, o, c, u, i, e.children, n, r, V) } } 1 & u && e.children !== t.children && c(a, t.children) } else o || null != p || S(a, t, h, f, n, r, i); ((g = f.onVnodeUpdated) || d) && Ur((() => { g && pl(g, n, t, e), d && tr(t, e, n, "updated") }), r) }, C = (e, t, n, r, l, i, s) => { for (let o = 0; o < t.length; o++) { const a = e[o], c = t[o], p = a.el && (a.type === Nr || !Yr(a, c) || 70 & a.shapeFlag) ? u(a.el) : n; f(a, c, p, null, r, l, i, s, !0) } }, S = (e, t, n, r, i, s, o) => { if (n !== r) { if (n !== K) for (const a in n) we(a) || a in r || l(e, a, n[a], null, o, t.children, i, s, V); for (const a in r) { if (we(a)) continue; const c = r[a], u = n[a]; c !== u && "value" !== a && l(e, a, u, c, o, t.children, i, s, V) } "value" in r && l(e, "value", n.value, r.value) } }, R = (e, t, r, l, i, o, a, c, u) => { const p = t.el = e ? e.el : s(""), d = t.anchor = e ? e.anchor : s(""); let { patchFlag: h, dynamicChildren: f, slotScopeIds: g } = t; g && (c = c ? c.concat(g) : g), null == e ? (n(p, r, l), n(d, r, l), _(t.children, r, d, i, o, a, c, u)) : h > 0 && 64 & h && f && e.dynamicChildren ? (C(e.dynamicChildren, f, r, i, o, a, c), (null != t.key || i && t === i.subTree) && Fr(e, t, !0)) : j(e, t, r, d, i, o, a, c, u) }, A = (e, t, n, r, l, i, s, o, a) => { t.slotScopeIds = o, null == e ? 512 & t.shapeFlag ? l.ctx.activate(t, n, r, s, a) : E(t, n, r, l, i, s, a) : L(e, t, a) }, E = (e, t, n, r, l, i, s) => { const o = e.component = function (e, t, n) { const r = e.type, l = (t ? t.appContext : e.appContext) || dl, i = { uid: hl++, vnode: e, type: r, parent: t, appContext: l, root: null, next: null, subTree: null, effect: null, update: null, scope: new Oe(!0), render: null, proxy: null, exposed: null, exposeProxy: null, withProxy: null, provides: t ? t.provides : Object.create(l.provides), accessCache: null, renderCache: [], components: null, directives: null, propsOptions: br(r, l), emitsOptions: In(r, l), emit: null, emitted: null, propsDefaults: K, inheritAttrs: r.inheritAttrs, ctx: K, data: K, props: K, attrs: K, slots: K, refs: K, setupState: K, setupContext: null, suspense: n, suspenseId: n ? n.pendingId : 0, asyncDep: null, asyncResolved: !1, isMounted: !1, isUnmounted: !1, isDeactivated: !1, bc: null, c: null, bm: null, m: null, bu: null, u: null, um: null, bum: null, da: null, a: null, rtg: null, rtc: null, ec: null, sp: null }; i.ctx = { _: i }, i.root = t ? t.root : i, i.emit = zn.bind(null, i), e.ce && e.ce(i); return i }(e, r, l); if (Gn(e) && (o.ctx.renderer = B), function (e, t = !1) { bl = t; const { props: n, children: r } = e.vnode, l = yl(e); vr(e, n, l, t), Lr(e, r); const i = l ? function (e, t) { const n = e.type; e.accessCache = Object.create(null), e.proxy = Gt(new Proxy(e.ctx, ur)); const { setup: r } = n; if (r) { const n = e.setupContext = r.length > 1 ? function (e) { const t = t => { e.exposed = t || {} }; let n; return { get attrs() { return n || (n = function (e) { return new Proxy(e.attrs, { get: (t, n) => (Xe(e, 0, "$attrs"), t[n]) }) }(e)) }, slots: e.slots, emit: e.emit, expose: t } }(e) : null; ml(e), Qe(); const l = pn(r, e, 0, [e.props, n]); if (Je(), vl(), he(l)) { if (l.then(vl, vl), t) return l.then((n => { kl(e, n, t) })).catch((t => { hn(t, e, 0) })); e.asyncDep = l } else kl(e, l, t) } else xl(e, t) }(e, t) : void 0; bl = !1 }(o), o.asyncDep) { if (l && l.registerDep(o, z), !e.el) { const e = o.subTree = ll(Dr); m(null, e, t, n) } } else z(o, e, t, n, l, i, s) }, L = (e, t, n) => { const r = t.component = e.component; if (function (e, t, n) { const { props: r, children: l, component: i } = e, { props: s, children: o, patchFlag: a } = t, c = i.emitsOptions; if (t.dirs || t.transition) return !0; if (!(n && a >= 0)) return !(!l && !o || o && o.$stable) || r !== s && (r ? !s || Nn(r, s, c) : !!s); if (1024 & a) return !0; if (16 & a) return r ? Nn(r, s, c) : !!s; if (8 & a) { const e = t.dynamicProps; for (let t = 0; t < e.length; t++) { const n = e[t]; if (s[n] !== r[n] && !jn(c, n)) return !0 } } return !1 }(e, t, n)) { if (r.asyncDep && !r.asyncResolved) return void I(r, t, n); r.next = t, function (e) { const t = mn.indexOf(e); t > vn && mn.splice(t, 1) }(r.update), r.update() } else t.el = e.el, r.vnode = t }, z = (e, t, n, r, l, i, s) => { const o = () => { if (e.isMounted) { let t, { next: n, bu: r, u: o, parent: a, vnode: c } = e, p = n; Mr(e, !1), n ? (n.el = c.el, I(e, n, s)) : n = c, r && Ae(r), (t = n.props && n.props.onVnodeBeforeUpdate) && pl(t, a, n, c), Mr(e, !0); const d = Pn(e), h = e.subTree; e.subTree = d, f(h, d, u(h.el), D(h), e, l, i), n.el = d.el, null === p && function ({ vnode: e, parent: t }, n) { for (; t && t.subTree === e;)(e = t.vnode).el = n, t = t.parent }(e, d.el), o && Ur(o, l), (t = n.props && n.props.onVnodeUpdated) && Ur((() => pl(t, a, n, c)), l) } else { let s; const { el: o, props: a } = t, { bm: c, m: u, parent: p } = e, d = Kn(t); if (Mr(e, !1), c && Ae(c), !d && (s = a && a.onVnodeBeforeMount) && pl(s, p, t), Mr(e, !0), o && q) { const n = () => { e.subTree = Pn(e), q(o, e.subTree, e, l, null) }; d ? t.type.__asyncLoader().then((() => !e.isUnmounted && n())) : n() } else { const s = e.subTree = Pn(e); f(null, s, n, r, e, l, i), t.el = s.el } if (u && Ur(u, l), !d && (s = a && a.onVnodeMounted)) { const e = t; Ur((() => pl(s, p, e)), l) } (256 & t.shapeFlag || p && Kn(p.vnode) && 256 & p.vnode.shapeFlag) && e.a && Ur(e.a, l), e.isMounted = !0, t = n = r = null } }, a = e.effect = new qe(o, (() => $n(c)), e.scope), c = e.update = () => a.run(); c.id = e.uid, Mr(e, !0), c() }, I = (e, t, n) => { t.component = e; const r = e.vnode.props; e.vnode = t, e.next = null, function (e, t, n, r) { const { props: l, attrs: i, vnode: { patchFlag: s } } = e, o = Kt(l), [a] = e.propsOptions; let c = !1; if (!(r || s > 0) || 16 & s) { let r; yr(e, t, l, i) && (c = !0); for (const i in o) t && (le(t, i) || (r = $e(i)) !== i && le(t, r)) || (a ? !n || void 0 === n[i] && void 0 === n[r] || (l[i] = wr(a, o, i, void 0, e, !0)) : delete l[i]); if (i !== o) for (const e in i) t && le(t, e) || (delete i[e], c = !0) } else if (8 & s) { const n = e.vnode.dynamicProps; for (let r = 0; r < n.length; r++) { let s = n[r]; if (jn(e.emitsOptions, s)) continue; const u = t[s]; if (a) if (le(i, s)) u !== i[s] && (i[s] = u, c = !0); else { const t = xe(s); l[t] = wr(a, o, t, u, e, !1) } else u !== i[s] && (i[s] = u, c = !0) } } c && et(e, "set", "$attrs") }(e, t.props, r, n), zr(e, t.children, n), Qe(), Sn(), Je() }, j = (e, t, n, r, l, i, s, o, a = !1) => { const u = e && e.children, p = e ? e.shapeFlag : 0, d = t.children, { patchFlag: h, shapeFlag: f } = t; if (h > 0) { if (128 & h) return void T(u, d, n, r, l, i, s, o, a); if (256 & h) return void O(u, d, n, r, l, i, s, o, a) } 8 & f ? (16 & p && V(u, l, i), d !== u && c(n, d)) : 16 & p ? 16 & f ? T(u, d, n, r, l, i, s, o, a) : V(u, l, i, !0) : (8 & p && c(n, ""), 16 & f && _(d, n, r, l, i, s, o, a)) }, O = (e, t, n, r, l, i, s, o, a) => { t = t || G; const c = (e = e || G).length, u = t.length, p = Math.min(c, u); let d; for (d = 0; d < p; d++) { const r = t[d] = a ? cl(t[d]) : al(t[d]); f(e[d], r, n, null, l, i, s, o, a) } c > u ? V(e, l, i, !0, !1, p) : _(t, n, r, l, i, s, o, a, p) }, T = (e, t, n, r, l, i, s, o, a) => { let c = 0; const u = t.length; let p = e.length - 1, d = u - 1; for (; c <= p && c <= d;) { const r = e[c], u = t[c] = a ? cl(t[c]) : al(t[c]); if (!Yr(r, u)) break; f(r, u, n, null, l, i, s, o, a), c++ } for (; c <= p && c <= d;) { const r = e[p], c = t[d] = a ? cl(t[d]) : al(t[d]); if (!Yr(r, c)) break; f(r, c, n, null, l, i, s, o, a), p--, d-- } if (c > p) { if (c <= d) { const e = d + 1, p = e < u ? t[e].el : r; for (; c <= d;)f(null, t[c] = a ? cl(t[c]) : al(t[c]), n, p, l, i, s, o, a), c++ } } else if (c > d) for (; c <= p;)P(e[c], l, i, !0), c++; else { const h = c, g = c, m = new Map; for (c = g; c <= d; c++) { const e = t[c] = a ? cl(t[c]) : al(t[c]); null != e.key && m.set(e.key, c) } let v, y = 0; const w = d - g + 1; let b = !1, k = 0; const x = new Array(w); for (c = 0; c < w; c++)x[c] = 0; for (c = h; c <= p; c++) { const r = e[c]; if (y >= w) { P(r, l, i, !0); continue } let u; if (null != r.key) u = m.get(r.key); else for (v = g; v <= d; v++)if (0 === x[v - g] && Yr(r, t[v])) { u = v; break } void 0 === u ? P(r, l, i, !0) : (x[u - g] = c + 1, u >= k ? k = u : b = !0, f(r, t[u], n, null, l, i, s, o, a), y++) } const _ = b ? function (e) { const t = e.slice(), n = [0]; let r, l, i, s, o; const a = e.length; for (r = 0; r < a; r++) { const a = e[r]; if (0 !== a) { if (l = n[n.length - 1], e[l] < a) { t[r] = l, n.push(r); continue } for (i = 0, s = n.length - 1; i < s;)o = i + s >> 1, e[n[o]] < a ? i = o + 1 : s = o; a < e[n[i]] && (i > 0 && (t[r] = n[i - 1]), n[i] = r) } } i = n.length, s = n[i - 1]; for (; i-- > 0;)n[i] = s, s = t[s]; return n }(x) : G; for (v = _.length - 1, c = w - 1; c >= 0; c--) { const e = g + c, p = t[e], d = e + 1 < u ? t[e + 1].el : r; 0 === x[c] ? f(null, p, n, d, l, i, s, o, a) : b && (v < 0 || c !== _[v] ? U(p, n, d, 2) : v--) } } }, U = (e, t, r, l, i = null) => { const { el: s, type: o, transition: a, children: c, shapeFlag: u } = e; if (6 & u) return void U(e.component.subTree, t, r, l); if (128 & u) return void e.suspense.move(t, r, l); if (64 & u) return void o.move(e, t, r, B); if (o === Nr) { n(s, t, r); for (let e = 0; e < c.length; e++)U(c[e], t, r, l); return void n(e.anchor, t, r) } if (o === Hr) return void y(e, t, r); if (2 !== l && 1 & u && a) if (0 === l) a.beforeEnter(s), n(s, t, r), Ur((() => a.enter(s)), i); else { const { leave: e, delayLeave: l, afterLeave: i } = a, o = () => n(s, t, r), c = () => { e(s, (() => { o(), i && i() })) }; l ? l(s, o, c) : c() } else n(s, t, r) }, P = (e, t, n, r = !1, l = !1) => { const { type: i, props: s, ref: o, children: a, dynamicChildren: c, shapeFlag: u, patchFlag: p, dirs: d } = e; if (null != o && Tr(o, null, n, e, !0), 256 & u) return void t.ctx.deactivate(e); const h = 1 & u && d, f = !Kn(e); let g; if (f && (g = s && s.onVnodeBeforeUnmount) && pl(g, t, e), 6 & u) N(e.component, n, r); else { if (128 & u) return void e.suspense.unmount(n, r); h && tr(e, null, t, "beforeUnmount"), 64 & u ? e.type.remove(e, t, n, l, B, r) : c && (i !== Nr || p > 0 && 64 & p) ? V(c, t, n, !1, !0) : (i === Nr && 384 & p || !l && 16 & u) && V(a, t, n), r && M(e) } (f && (g = s && s.onVnodeUnmounted) || h) && Ur((() => { g && pl(g, t, e), h && tr(e, null, t, "unmounted") }), n) }, M = e => { const { type: t, el: n, anchor: l, transition: i } = e; if (t === Nr) return void F(n, l); if (t === Hr) return void w(e); const s = () => { r(n), i && !i.persisted && i.afterLeave && i.afterLeave() }; if (1 & e.shapeFlag && i && !i.persisted) { const { leave: t, delayLeave: r } = i, l = () => t(n, s); r ? r(e.el, s, l) : l() } else s() }, F = (e, t) => { let n; for (; e !== t;)n = p(e), r(e), e = n; r(t) }, N = (e, t, n) => { const { bum: r, scope: l, update: i, subTree: s, um: o } = e; r && Ae(r), l.stop(), i && (i.active = !1, P(s, e, t, n)), o && Ur(o, t), Ur((() => { e.isUnmounted = !0 }), t), t && t.pendingBranch && !t.isUnmounted && e.asyncDep && !e.asyncResolved && e.suspenseId === t.pendingId && (t.deps--, 0 === t.deps && t.resolve()) }, V = (e, t, n, r = !1, l = !1, i = 0) => { for (let s = i; s < e.length; s++)P(e[s], t, n, r, l) }, D = e => 6 & e.shapeFlag ? D(e.component.subTree) : 128 & e.shapeFlag ? e.suspense.next() : p(e.anchor || e.el), H = (e, t, n) => { null == e ? t._vnode && P(t._vnode, null, null, !0) : f(t._vnode || null, e, t, null, null, null, n), Sn(), Rn(), t._vnode = e }, B = { p: f, um: P, m: U, r: M, mt: E, mc: _, pc: j, pbc: C, n: D, o: e }; let W, q; t && ([W, q] = t(B)); return { render: H, hydrate: W, createApp: Or(H, W) } }(e) } function Mr({ effect: e, update: t }, n) { e.allowRecurse = t.allowRecurse = n } function Fr(e, t, n = !1) { const r = e.children, l = t.children; if (ie(r) && ie(l)) for (let e = 0; e < r.length; e++) { const t = r[e]; let i = l[e]; 1 & i.shapeFlag && !i.dynamicChildren && ((i.patchFlag <= 0 || 32 === i.patchFlag) && (i = l[e] = cl(l[e]), i.el = t.el), n || Fr(t, i)), i.type === Vr && (i.el = t.el) } } const Nr = Symbol(void 0), Vr = Symbol(void 0), Dr = Symbol(void 0), Hr = Symbol(void 0), Br = []; let Wr = null; function qr(e = !1) { Br.push(Wr = e ? null : []) } let Zr = 1; function Kr(e) { Zr += e } function Gr(e) { return e.dynamicChildren = Zr > 0 ? Wr || G : null, Br.pop(), Wr = Br[Br.length - 1] || null, Zr > 0 && Wr && Wr.push(e), e } function Qr(e, t, n, r, l, i) { return Gr(rl(e, t, n, r, l, i, !0)) } function Jr(e, t, n, r, l) { return Gr(ll(e, t, n, r, l, !0)) } function Xr(e) { return !!e && !0 === e.__v_isVNode } function Yr(e, t) { return e.type === t.type && e.key === t.key } const el = "__vInternal", tl = ({ key: e }) => null != e ? e : null, nl = ({ ref: e, ref_key: t, ref_for: n }) => null != e ? ue(e) || en(e) || ce(e) ? { i: On, r: e, k: t, f: !!n } : e : null; function rl(e, t = null, n = null, r = 0, l = null, i = (e === Nr ? 0 : 1), s = !1, o = !1) { const a = { __v_isVNode: !0, __v_skip: !0, type: e, props: t, key: t && tl(t), ref: t && nl(t), scopeId: Tn, slotScopeIds: null, children: n, component: null, suspense: null, ssContent: null, ssFallback: null, dirs: null, transition: null, el: null, anchor: null, target: null, targetAnchor: null, staticCount: 0, shapeFlag: i, patchFlag: r, dynamicProps: l, dynamicChildren: null, appContext: null, ctx: On }; return o ? (ul(a, n), 128 & i && e.normalize(a)) : n && (a.shapeFlag |= ue(n) ? 8 : 16), Zr > 0 && !s && Wr && (a.patchFlag > 0 || 6 & i) && 32 !== a.patchFlag && Wr.push(a), a } const ll = function (e, t = null, n = null, r = 0, l = null, i = !1) { e && e !== lr || (e = Dr); if (Xr(e)) { const r = il(e, t, !0); return n && ul(r, n), Zr > 0 && !i && Wr && (6 & r.shapeFlag ? Wr[Wr.indexOf(e)] = r : Wr.push(r)), r.patchFlag |= -2, r } s = e, ce(s) && "__vccOpts" in s && (e = e.__vccOpts); var s; if (t) { t = function (e) { return e ? Zt(e) || el in e ? te({}, e) : e : null }(t); let { class: e, style: n } = t; e && !ue(e) && (t.class = V(e)), de(n) && (Zt(n) && !ie(n) && (n = te({}, n)), t.style = U(n)) } const o = ue(e) ? 1 : (e => e.__isSuspense)(e) ? 128 : (e => e.__isTeleport)(e) ? 64 : de(e) ? 4 : ce(e) ? 2 : 0; return rl(e, t, n, r, l, o, i, !0) }; function il(e, t, n = !1) { const { props: r, ref: l, patchFlag: i, children: s } = e, o = t ? function (...e) { const t = {}; for (let n = 0; n < e.length; n++) { const r = e[n]; for (const e in r) if ("class" === e) t.class !== r.class && (t.class = V([t.class, r.class])); else if ("style" === e) t.style = U([t.style, r.style]); else if (Y(e)) { const n = t[e], l = r[e]; !l || n === l || ie(n) && n.includes(l) || (t[e] = n ? [].concat(n, l) : l) } else "" !== e && (t[e] = r[e]) } return t }(r || {}, t) : r; return { __v_isVNode: !0, __v_skip: !0, type: e.type, props: o, key: o && tl(o), ref: t && t.ref ? n && l ? ie(l) ? l.concat(nl(t)) : [l, nl(t)] : nl(t) : l, scopeId: e.scopeId, slotScopeIds: e.slotScopeIds, children: s, target: e.target, targetAnchor: e.targetAnchor, staticCount: e.staticCount, shapeFlag: e.shapeFlag, patchFlag: t && e.type !== Nr ? -1 === i ? 16 : 16 | i : i, dynamicProps: e.dynamicProps, dynamicChildren: e.dynamicChildren, appContext: e.appContext, dirs: e.dirs, transition: e.transition, component: e.component, suspense: e.suspense, ssContent: e.ssContent && il(e.ssContent), ssFallback: e.ssFallback && il(e.ssFallback), el: e.el, anchor: e.anchor, ctx: e.ctx, ce: e.ce } } function sl(e = " ", t = 0) { return ll(Vr, null, e, t) } function ol(e = "", t = !1) { return t ? (qr(), Jr(Dr, null, e)) : ll(Dr, null, e) } function al(e) { return null == e || "boolean" == typeof e ? ll(Dr) : ie(e) ? ll(Nr, null, e.slice()) : "object" == typeof e ? cl(e) : ll(Vr, null, String(e)) } function cl(e) { return null === e.el && -1 !== e.patchFlag || e.memo ? e : il(e) } function ul(e, t) { let n = 0; const { shapeFlag: r } = e; if (null == t) t = null; else if (ie(t)) n = 16; else if ("object" == typeof t) { if (65 & r) { const n = t.default; return void (n && (n._c && (n._d = !1), ul(e, n()), n._c && (n._d = !0))) } { n = 32; const r = t._; r || el in t ? 3 === r && On && (1 === On.slots._ ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024)) : t._ctx = On } } else ce(t) ? (t = { default: t, _ctx: On }, n = 32) : (t = String(t), 64 & r ? (n = 16, t = [sl(t)]) : n = 8); e.children = t, e.shapeFlag |= n } function pl(e, t, n, r = null) { dn(e, t, 7, [n, r]) } const dl = Ir(); let hl = 0; let fl = null; const gl = () => fl || On, ml = e => { fl = e, e.scope.on() }, vl = () => { fl && fl.scope.off(), fl = null }; function yl(e) { return 4 & e.vnode.shapeFlag } let wl, bl = !1; function kl(e, t, n) { ce(t) ? e.type.__ssrInlineRender ? e.ssrRender = t : e.render = t : de(t) && (e.setupState = an(t)), xl(e, n) } function xl(e, t, n) { const r = e.type; if (!e.render) { if (!t && wl && !r.render) { const t = r.template || function (e) { const t = e.type, { mixins: n, extends: r } = t, { mixins: l, optionsCache: i, config: { optionMergeStrategies: s } } = e.appContext, o = i.get(t); let a; return o ? a = o : l.length || n || r ? (a = {}, l.length && l.forEach((e => pr(a, e, s, !0))), pr(a, t, s)) : a = t, de(t) && i.set(t, a), a }(e).template; if (t) { const { isCustomElement: n, compilerOptions: l } = e.appContext.config, { delimiters: i, compilerOptions: s } = r, o = te(te({ isCustomElement: n, delimiters: i }, l), s); r.render = wl(t, o) } } e.render = r.render || Q } } function _l(e) { if (e.exposed) return e.exposeProxy || (e.exposeProxy = new Proxy(an(Gt(e.exposed)), { get: (t, n) => n in t ? t[n] : n in ar ? ar[n](e) : void 0, has: (e, t) => t in e || t in ar })) } const $l = (e, t) => function (e, t, n = !1) { let r, l; const i = ce(e); return i ? (r = e, l = Q) : (r = e.get, l = e.set), new un(r, l, i || !l, n) }(e, 0, bl); function Cl(e, t, n) { const r = arguments.length; return 2 === r ? de(t) && !ie(t) ? Xr(t) ? ll(e, null, [t]) : ll(e, t) : ll(e, null, t) : (r > 3 ? n = Array.prototype.slice.call(arguments, 2) : 3 === r && Xr(n) && (n = [n]), ll(e, t, n)) } const Sl = Symbol(""), Rl = () => Vn(Sl), Al = "3.2.47", El = "undefined" != typeof document ? document : null, Ll = El && El.createElement("template"), zl = { insert: (e, t, n) => { t.insertBefore(e, n || null) }, remove: e => { const t = e.parentNode; t && t.removeChild(e) }, createElement: (e, t, n, r) => { const l = t ? El.createElementNS("http://www.w3.org/2000/svg", e) : El.createElement(e, n ? { is: n } : void 0); return "select" === e && r && null != r.multiple && l.setAttribute("multiple", r.multiple), l }, createText: e => El.createTextNode(e), createComment: e => El.createComment(e), setText: (e, t) => { e.nodeValue = t }, setElementText: (e, t) => { e.textContent = t }, parentNode: e => e.parentNode, nextSibling: e => e.nextSibling, querySelector: e => El.querySelector(e), setScopeId(e, t) { e.setAttribute(t, "") }, insertStaticContent(e, t, n, r, l, i) { const s = n ? n.previousSibling : t.lastChild; if (l && (l === i || l.nextSibling)) for (; t.insertBefore(l.cloneNode(!0), n), l !== i && (l = l.nextSibling);); else { Ll.innerHTML = r ? `
${e} ` : e; const l = Ll.content; if (r) { const e = l.firstChild; for (; e.firstChild;)l.appendChild(e.firstChild); l.removeChild(e) } t.insertBefore(l, n) } return [s ? s.nextSibling : t.firstChild, n ? n.previousSibling : t.lastChild] } }; const Il = /\s*!important$/; function jl(e, t, n) { if (ie(n)) n.forEach((n => jl(e, t, n))); else if (null == n && (n = ""), t.startsWith("--")) e.setProperty(t, n); else { const r = function (e, t) { const n = Tl[t]; if (n) return n; let r = xe(t); if ("filter" !== r && r in e) return Tl[t] = r; r = Ce(r); for (let n = 0; n < Ol.length; n++) { const l = Ol[n] + r; if (l in e) return Tl[t] = l } return t }(e, t); Il.test(n) ? e.setProperty($e(r), n.replace(Il, ""), "important") : e[r] = n } } const Ol = ["Webkit", "Moz", "ms"], Tl = {}; const Ul = "http://www.w3.org/1999/xlink"; function Pl(e, t, n, r) { e.addEventListener(t, n, r) } function Ml(e, t, n, r, l = null) { const i = e._vei || (e._vei = {}), s = i[t]; if (r && s) s.value = r; else { const [n, o] = function (e) { let t; if (Fl.test(e)) { let n; for (t = {}; n = e.match(Fl);)e = e.slice(0, e.length - n[0].length), t[n[0].toLowerCase()] = !0 } const n = ":" === e[2] ? e.slice(3) : $e(e.slice(2)); return [n, t] }(t); if (r) { const s = i[t] = function (e, t) { const n = e => { if (e._vts) { if (e._vts <= n.attached) return } else e._vts = Date.now(); dn(function (e, t) { if (ie(t)) { const n = e.stopImmediatePropagation; return e.stopImmediatePropagation = () => { n.call(e), e._stopped = !0 }, t.map((e => t => !t._stopped && e && e(t))) } return t }(e, n.value), t, 5, [e]) }; return n.value = e, n.attached = Dl(), n }(r, l); Pl(e, n, s, o) } else s && (!function (e, t, n, r) { e.removeEventListener(t, n, r) }(e, n, s, o), i[t] = void 0) } } const Fl = /(?:Once|Passive|Capture)$/; let Nl = 0; const Vl = Promise.resolve(), Dl = () => Nl || (Vl.then((() => Nl = 0)), Nl = Date.now()); const Hl = /^on[a-z]/; const Bl = e => { const t = e.props["onUpdate:modelValue"] || !1; return ie(t) ? e => Ae(t, e) : t }; function Wl(e) { e.target.composing = !0 } function ql(e) { const t = e.target; t.composing && (t.composing = !1, t.dispatchEvent(new Event("input"))) } const Zl = { created(e, { modifiers: { lazy: t, trim: n, number: r } }, l) { e._assign = Bl(l); const i = r || l.props && "number" === l.props.type; Pl(e, t ? "change" : "input", (t => { if (t.target.composing) return; let r = e.value; n && (r = r.trim()), i && (r = Le(r)), e._assign(r) })), n && Pl(e, "change", (() => { e.value = e.value.trim() })), t || (Pl(e, "compositionstart", Wl), Pl(e, "compositionend", ql), Pl(e, "change", ql)) }, mounted(e, { value: t }) { e.value = null == t ? "" : t }, beforeUpdate(e, { value: t, modifiers: { lazy: n, trim: r, number: l } }, i) { if (e._assign = Bl(i), e.composing) return; if (document.activeElement === e && "range" !== e.type) { if (n) return; if (r && e.value.trim() === t) return; if ((l || "number" === e.type) && Le(e.value) === t) return } const s = null == t ? "" : t; e.value !== s && (e.value = s) } }, Kl = { deep: !0, created(e, t, n) { e._assign = Bl(n), Pl(e, "change", (() => { const t = e._modelValue, n = Yl(e), r = e.checked, l = e._assign; if (ie(t)) { const e = W(t, n), i = -1 !== e; if (r && !i) l(t.concat(n)); else if (!r && i) { const n = [...t]; n.splice(e, 1), l(n) } } else if (oe(t)) { const e = new Set(t); r ? e.add(n) : e.delete(n), l(e) } else l(ei(e, r)) })) }, mounted: Gl, beforeUpdate(e, t, n) { e._assign = Bl(n), Gl(e, t, n) } }; function Gl(e, { value: t, oldValue: n }, r) { e._modelValue = t, ie(t) ? e.checked = W(t, r.props.value) > -1 : oe(t) ? e.checked = t.has(r.props.value) : t !== n && (e.checked = B(t, ei(e, !0))) } const Ql = { created(e, { value: t }, n) { e.checked = B(t, n.props.value), e._assign = Bl(n), Pl(e, "change", (() => { e._assign(Yl(e)) })) }, beforeUpdate(e, { value: t, oldValue: n }, r) { e._assign = Bl(r), t !== n && (e.checked = B(t, r.props.value)) } }, Jl = { deep: !0, created(e, { value: t, modifiers: { number: n } }, r) { const l = oe(t); Pl(e, "change", (() => { const t = Array.prototype.filter.call(e.options, (e => e.selected)).map((e => n ? Le(Yl(e)) : Yl(e))); e._assign(e.multiple ? l ? new Set(t) : t : t[0]) })), e._assign = Bl(r) }, mounted(e, { value: t }) { Xl(e, t) }, beforeUpdate(e, t, n) { e._assign = Bl(n) }, updated(e, { value: t }) { Xl(e, t) } }; function Xl(e, t) { const n = e.multiple; if (!n || ie(t) || oe(t)) { for (let r = 0, l = e.options.length; r < l; r++) { const l = e.options[r], i = Yl(l); if (n) ie(t) ? l.selected = W(t, i) > -1 : l.selected = t.has(i); else if (B(Yl(l), t)) return void (e.selectedIndex !== r && (e.selectedIndex = r)) } n || -1 === e.selectedIndex || (e.selectedIndex = -1) } } function Yl(e) { return "_value" in e ? e._value : e.value } function ei(e, t) { const n = t ? "_trueValue" : "_falseValue"; return n in e ? e[n] : t } const ti = { created(e, t, n) { ni(e, t, n, null, "created") }, mounted(e, t, n) { ni(e, t, n, null, "mounted") }, beforeUpdate(e, t, n, r) { ni(e, t, n, r, "beforeUpdate") }, updated(e, t, n, r) { ni(e, t, n, r, "updated") } }; function ni(e, t, n, r, l) { const i = function (e, t) { switch (e) { case "SELECT": return Jl; case "TEXTAREA": return Zl; default: switch (t) { case "checkbox": return Kl; case "radio": return Ql; default: return Zl } } }(e.tagName, n.props && n.props.type)[l]; i && i(e, t, n, r) } const ri = { beforeMount(e, { value: t }, { transition: n }) { e._vod = "none" === e.style.display ? "" : e.style.display, n && t ? n.beforeEnter(e) : li(e, t) }, mounted(e, { value: t }, { transition: n }) { n && t && n.enter(e) }, updated(e, { value: t, oldValue: n }, { transition: r }) { !t != !n && (r ? t ? (r.beforeEnter(e), li(e, !0), r.enter(e)) : r.leave(e, (() => { li(e, !1) })) : li(e, t)) }, beforeUnmount(e, { value: t }) { li(e, t) } }; function li(e, t) { e.style.display = t ? e._vod : "none" } const ii = te({ patchProp: (e, t, n, r, l = !1, i, s, o, a) => { "class" === t ? function (e, t, n) { const r = e._vtc; r && (t = (t ? [t, ...r] : [...r]).join(" ")), null == t ? e.removeAttribute("class") : n ? e.setAttribute("class", t) : e.className = t }(e, r, l) : "style" === t ? function (e, t, n) { const r = e.style, l = ue(n); if (n && !l) { if (t && !ue(t)) for (const e in t) null == n[e] && jl(r, e, ""); for (const e in n) jl(r, e, n[e]) } else { const i = r.display; l ? t !== n && (r.cssText = n) : t && e.removeAttribute("style"), "_vod" in e && (r.display = i) } }(e, n, r) : Y(t) ? ee(t) || Ml(e, t, 0, r, s) : ("." === t[0] ? (t = t.slice(1), 1) : "^" === t[0] ? (t = t.slice(1), 0) : function (e, t, n, r) { if (r) return "innerHTML" === t || "textContent" === t || !!(t in e && Hl.test(t) && ce(n)); if ("spellcheck" === t || "draggable" === t || "translate" === t) return !1; if ("form" === t) return !1; if ("list" === t && "INPUT" === e.tagName) return !1; if ("type" === t && "TEXTAREA" === e.tagName) return !1; if (Hl.test(t) && ue(n)) return !1; return t in e }(e, t, r, l)) ? function (e, t, n, r, l, i, s) { if ("innerHTML" === t || "textContent" === t) return r && s(r, l, i), void (e[t] = null == n ? "" : n); if ("value" === t && "PROGRESS" !== e.tagName && !e.tagName.includes("-")) { e._value = n; const r = null == n ? "" : n; return e.value === r && "OPTION" !== e.tagName || (e.value = r), void (null == n && e.removeAttribute(t)) } let o = !1; if ("" === n || null == n) { const r = typeof e[t]; "boolean" === r ? n = H(n) : null == n && "string" === r ? (n = "", o = !0) : "number" === r && (n = 0, o = !0) } try { e[t] = n } catch (e) { } o && e.removeAttribute(t) }(e, t, r, i, s, o, a) : ("true-value" === t ? e._trueValue = r : "false-value" === t && (e._falseValue = r), function (e, t, n, r, l) { if (r && t.startsWith("xlink:")) null == n ? e.removeAttributeNS(Ul, t.slice(6, t.length)) : e.setAttributeNS(Ul, t, n); else { const r = D(t); null == n || r && !H(n) ? e.removeAttribute(t) : e.setAttribute(t, r ? "" : n) } }(e, t, r, l)) } }, zl); let si; const oi = (...e) => { const t = (si || (si = Pr(ii))).createApp(...e), { mount: n } = t; return t.mount = e => { const r = function (e) { if (ue(e)) { return document.querySelector(e) } return e }(e); if (!r) return; const l = t._component; ce(l) || l.render || l.template || (l.template = r.innerHTML), r.innerHTML = ""; const i = n(r, !1, r instanceof SVGElement); return r instanceof Element && (r.removeAttribute("v-cloak"), r.setAttribute("data-v-app", "")), i }, t }; function ai(e) { return !!Te() && (function (e) { je && je.cleanups.push(e) }(e), !0) } function ci(e) { return "function" == typeof e ? e() : sn(e) } const ui = "undefined" != typeof window, pi = () => { }; function di(e, t) { return function (...n) { return new Promise(((r, l) => { Promise.resolve(e((() => t.apply(this, n)), { fn: t, thisArg: this, args: n })).then(r).catch(l) })) } } const hi = e => e(); function fi(e, t = 200, n = {}) { return di(function (e, t = {}) { let n, r, l = pi; const i = e => { clearTimeout(e), l(), l = pi }; return s => { const o = ci(e), a = ci(t.maxWait); return n && i(n), o <= 0 || void 0 !== a && a <= 0 ? (r && (i(r), r = null), Promise.resolve(s())) : new Promise(((e, c) => { l = t.rejectOnCancel ? c : e, a && !r && (r = setTimeout((() => { n && i(n), r = null, e(s()) }), a)), n = setTimeout((() => { r && i(r), r = null, e(s()) }), o) })) } }(t, n), e) } function gi(e, t = !0) { gl() ? Jn(e) : t ? e() : _n(e) } var mi = Object.getOwnPropertySymbols, vi = Object.prototype.hasOwnProperty, yi = Object.prototype.propertyIsEnumerable, wi = (e, t) => { var n = {}; for (var r in e) vi.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (null != e && mi) for (var r of mi(e)) t.indexOf(r) < 0 && yi.call(e, r) && (n[r] = e[r]); return n }; var bi = Object.defineProperty, ki = Object.defineProperties, xi = Object.getOwnPropertyDescriptors, _i = Object.getOwnPropertySymbols, $i = Object.prototype.hasOwnProperty, Ci = Object.prototype.propertyIsEnumerable, Si = (e, t, n) => t in e ? bi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Ri = (e, t) => { for (var n in t || (t = {})) $i.call(t, n) && Si(e, n, t[n]); if (_i) for (var n of _i(t)) Ci.call(t, n) && Si(e, n, t[n]); return e }, Ai = (e, t) => ki(e, xi(t)), Ei = (e, t) => { var n = {}; for (var r in e) $i.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (null != e && _i) for (var r of _i(e)) t.indexOf(r) < 0 && Ci.call(e, r) && (n[r] = e[r]); return n }; function Li(e, t, n = {}) { const r = n, { eventFilter: l } = r, i = Ei(r, ["eventFilter"]), { eventFilter: s, pause: o, resume: a, isActive: c } = function (e = hi) { const t = tn(!0); return { isActive: Dt(t), pause: function () { t.value = !1 }, resume: function () { t.value = !0 }, eventFilter: (...n) => { t.value && e(...n) } } }(l), u = function (e, t, n = {}) { const r = n, { eventFilter: l = hi } = r, i = wi(r, ["eventFilter"]); return Bn(e, di(l, t), i) }(e, t, Ai(Ri({}, i), { eventFilter: s })); return { stop: u, pause: o, resume: a, isActive: c } } function zi(e) { var t; const n = ci(e); return null != (t = null == n ? void 0 : n.$el) ? t : n } const Ii = ui ? window : void 0, ji = ui ? window.document : void 0; function Oi(...e) { let t, n, r, l; if ("string" == typeof e[0] || Array.isArray(e[0]) ? ([n, r, l] = e, t = Ii) : [t, n, r, l] = e, !t) return pi; Array.isArray(n) || (n = [n]), Array.isArray(r) || (r = [r]); const i = [], s = () => { i.forEach((e => e())), i.length = 0 }, o = Bn((() => [zi(t), ci(l)]), (([e, t]) => { s(), e && i.push(...n.flatMap((n => r.map((r => ((e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)))(e, n, r, t)))))) }), { immediate: !0, flush: "post" }), a = () => { o(), s() }; return ai(a), a } const Ti = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, Ui = "__vueuse_ssr_handlers__", Pi = Mi(); function Mi() { return Ui in Ti || (Ti[Ui] = Ti[Ui] || {}), Ti[Ui] } var Fi = Object.defineProperty, Ni = Object.getOwnPropertySymbols, Vi = Object.prototype.hasOwnProperty, Di = Object.prototype.propertyIsEnumerable, Hi = (e, t, n) => t in e ? Fi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Bi = (e, t) => { for (var n in t || (t = {})) Vi.call(t, n) && Hi(e, n, t[n]); if (Ni) for (var n of Ni(t)) Di.call(t, n) && Hi(e, n, t[n]); return e }; const Wi = { boolean: { read: e => "true" === e, write: e => String(e) }, object: { read: e => JSON.parse(e), write: e => JSON.stringify(e) }, number: { read: e => Number.parseFloat(e), write: e => String(e) }, any: { read: e => e, write: e => String(e) }, string: { read: e => e, write: e => String(e) }, map: { read: e => new Map(JSON.parse(e)), write: e => JSON.stringify(Array.from(e.entries())) }, set: { read: e => new Set(JSON.parse(e)), write: e => JSON.stringify(Array.from(e)) }, date: { read: e => new Date(e), write: e => e.toISOString() } }, qi = "vueuse-storage"; function Zi(e, t, n, r = {}) { var l; const { flush: i = "pre", deep: s = !0, listenToStorageChanges: o = !0, writeDefaults: a = !0, mergeDefaults: c = !1, shallow: u, window: p = Ii, eventFilter: d, onError: h = (e => { console.error(e) }) } = r, f = (u ? nn : tn)(t); if (!n) try { n = function (e, t) { return Pi[e] || t }("getDefaultStorage", (() => { var e; return null == (e = Ii) ? void 0 : e.localStorage }))() } catch (e) { h(e) } if (!n) return f; const g = ci(t), m = function (e) { return null == e ? "any" : e instanceof Set ? "set" : e instanceof Map ? "map" : e instanceof Date ? "date" : "boolean" == typeof e ? "boolean" : "string" == typeof e ? "string" : "object" == typeof e ? "object" : Number.isNaN(e) ? "any" : "number" }(g), v = null != (l = r.serializer) ? l : Wi[m], { pause: y, resume: w } = Li(f, (() => function (t) { try { if (null == t) n.removeItem(e); else { const r = v.write(t), l = n.getItem(e); l !== r && (n.setItem(e, r), p && p.dispatchEvent(new CustomEvent(qi, { detail: { key: e, oldValue: l, newValue: r, storageArea: n } }))) } } catch (e) { h(e) } }(f.value)), { flush: i, deep: s, eventFilter: d }); return p && o && (Oi(p, "storage", b), Oi(p, qi, (function (e) { b(e.detail) }))), b(), f; function b(t) { if (!t || t.storageArea === n) if (t && null == t.key) f.value = g; else if (!t || t.key === e) { y(); try { f.value = function (t) { const r = t ? t.newValue : n.getItem(e); if (null == r) return a && null !== g && n.setItem(e, v.write(g)), g; if (!t && c) { const e = v.read(r); return "function" == typeof c ? c(e, g) : "object" !== m || Array.isArray(e) ? e : Bi(Bi({}, g), e) } return "string" != typeof r ? r : v.read(r) }(t) } catch (e) { h(e) } finally { t ? _n(w) : w() } } } } var Ki = Object.defineProperty, Gi = Object.getOwnPropertySymbols, Qi = Object.prototype.hasOwnProperty, Ji = Object.prototype.propertyIsEnumerable, Xi = (e, t, n) => t in e ? Ki(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; function Yi(e = {}) { const { controls: t = !1, interval: n = "requestAnimationFrame" } = e, r = tn(new Date), l = () => r.value = new Date, i = "requestAnimationFrame" === n ? function (e, t = {}) { const { immediate: n = !0, window: r = Ii } = t, l = tn(!1); let i = 0, s = null; function o(t) { l.value && r && (e({ delta: t - i, timestamp: t }), i = t, s = r.requestAnimationFrame(o)) } function a() { !l.value && r && (l.value = !0, s = r.requestAnimationFrame(o)) } function c() { l.value = !1, null != s && r && (r.cancelAnimationFrame(s), s = null) } return n && a(), ai(c), { isActive: Dt(l), pause: c, resume: a } }(l, { immediate: !0 }) : function (e, t = 1e3, n = {}) { const { immediate: r = !0, immediateCallback: l = !1 } = n; let i = null; const s = tn(!1); function o() { i && (clearInterval(i), i = null) } function a() { s.value = !1, o() } function c() { const n = ci(t); n <= 0 || (s.value = !0, l && e(), o(), i = setInterval(e, n)) } r && ui && c(), (en(t) || "function" == typeof t) && ai(Bn(t, (() => { s.value && ui && c() }))); return ai(a), { isActive: s, pause: a, resume: c } }(l, n, { immediate: !0 }); return t ? ((e, t) => { for (var n in t || (t = {})) Qi.call(t, n) && Xi(e, n, t[n]); if (Gi) for (var n of Gi(t)) Ji.call(t, n) && Xi(e, n, t[n]); return e })({ now: r }, i) : r } function es(e, t = pi, n = {}) { const { immediate: r = !0, manual: l = !1, type: i = "text/javascript", async: s = !0, crossOrigin: o, referrerPolicy: a, noModule: c, defer: u, document: p = ji, attrs: d = {} } = n, h = tn(null); let f = null; const g = (n = !0) => (f || (f = (n => new Promise(((r, l) => { const f = e => (h.value = e, r(e), e); if (!p) return void r(!1); let g = !1, m = p.querySelector(`script[src="${ci(e)}"]`); m ? m.hasAttribute("data-loaded") && f(m) : (m = p.createElement("script"), m.type = i, m.async = s, m.src = ci(e), u && (m.defer = u), o && (m.crossOrigin = o), c && (m.noModule = c), a && (m.referrerPolicy = a), Object.entries(d).forEach((([e, t]) => null == m ? void 0 : m.setAttribute(e, t))), g = !0), m.addEventListener("error", (e => l(e))), m.addEventListener("abort", (e => l(e))), m.addEventListener("load", (() => { m.setAttribute("data-loaded", "true"), t(m), f(m) })), g && (m = p.head.appendChild(m)), n || f(m) })))(n)), f), m = () => { if (!p) return; f = null, h.value && (h.value = null); const t = p.querySelector(`script[src="${ci(e)}"]`); t && p.head.removeChild(t) }; var v; return r && !l && gi(g), l || (v = m, gl() && Yn(v)), { scriptTag: h, load: g, unload: m } } let ts = 0; const ns = e => { const t = Zi("WALINE_EMOJI", {}), n = Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e)); if (n) { const n = t.value[e]; if (n) return Promise.resolve(n) } return fetch(`${e}/info.json`).then((e => e.json())).then((r => { const l = { folder: e, ...r }; return n && (t.value[e] = l), l })) }, rs = (e, t = "", n = "", r = "") => `${t ? `${t}/` : ""}${n}${e}${r ? `.${r}` : ""}`, ls = e => { "AbortError" !== e.name && console.error(e.message) }, is = e => e instanceof HTMLElement ? e : "string" == typeof e ? document.querySelector(e) : null, ss = e => e.type.includes("image"), os = e => { const t = Array.from(e).find(ss); return t ? t.getAsFile() : null }; function as() { return { async: !1, baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, hooks: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 } } let cs = { async: !1, baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, hooks: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 }; const us = /[&<>"']/, ps = new RegExp(us.source, "g"), ds = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, hs = new RegExp(ds.source, "g"), fs = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, gs = e => fs[e]; function ms(e, t) { if (t) { if (us.test(e)) return e.replace(ps, gs) } else if (ds.test(e)) return e.replace(hs, gs); return e } const vs = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; function ys(e) { return e.replace(vs, ((e, t) => "colon" === (t = t.toLowerCase()) ? ":" : "#" === t.charAt(0) ? "x" === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : "")) } const ws = /(^|[^\[])\^/g; function bs(e, t) { e = "string" == typeof e ? e : e.source, t = t || ""; const n = { replace: (t, r) => (r = (r = r.source || r).replace(ws, "$1"), e = e.replace(t, r), n), getRegex: () => new RegExp(e, t) }; return n } const ks = /[^\w:]/g, xs = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; function _s(e, t, n) { if (e) { let e; try { e = decodeURIComponent(ys(n)).replace(ks, "").toLowerCase() } catch (e) { return null } if (0 === e.indexOf("javascript:") || 0 === e.indexOf("vbscript:") || 0 === e.indexOf("data:")) return null } t && !xs.test(n) && (n = function (e, t) { $s[" " + e] || (Cs.test(e) ? $s[" " + e] = e + "/" : $s[" " + e] = Ls(e, "/", !0)); e = $s[" " + e]; const n = -1 === e.indexOf(":"); return "//" === t.substring(0, 2) ? n ? t : e.replace(Ss, "$1") + t : "/" === t.charAt(0) ? n ? t : e.replace(Rs, "$1") + t : e + t }(t, n)); try { n = encodeURI(n).replace(/%25/g, "%") } catch (e) { return null } return n } const $s = {}, Cs = /^[^:]+:\/*[^/]*$/, Ss = /^([^:]+:)[\s\S]*$/, Rs = /^([^:]+:\/*[^/]*)[\s\S]*$/; const As = { exec: function () { } }; function Es(e, t) { const n = e.replace(/\|/g, ((e, t, n) => { let r = !1, l = t; for (; --l >= 0 && "\\" === n[l];)r = !r; return r ? "|" : " |" })).split(/ \|/); let r = 0; if (n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), n.length > t) n.splice(t); else for (; n.length < t;)n.push(""); for (; r < n.length; r++)n[r] = n[r].trim().replace(/\\\|/g, "|"); return n } function Ls(e, t, n) { const r = e.length; if (0 === r) return ""; let l = 0; for (; l < r;) { const i = e.charAt(r - l - 1); if (i !== t || n) { if (i === t || !n) break; l++ } else l++ } return e.slice(0, r - l) } function zs(e, t) { if (t < 1) return ""; let n = ""; for (; t > 1;)1 & t && (n += e), t >>= 1, e += e; return n + e } function Is(e, t, n, r) { const l = t.href, i = t.title ? ms(t.title) : null, s = e[1].replace(/\\([\[\]])/g, "$1"); if ("!" !== e[0].charAt(0)) { r.state.inLink = !0; const e = { type: "link", raw: n, href: l, title: i, text: s, tokens: r.inlineTokens(s) }; return r.state.inLink = !1, e } return { type: "image", raw: n, href: l, title: i, text: ms(s) } } class js { constructor(e) { this.options = e || cs } space(e) { const t = this.rules.block.newline.exec(e); if (t && t[0].length > 0) return { type: "space", raw: t[0] } } code(e) { const t = this.rules.block.code.exec(e); if (t) { const e = t[0].replace(/^ {1,4}/gm, ""); return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? e : Ls(e, "\n") } } } fences(e) { const t = this.rules.block.fences.exec(e); if (t) { const e = t[0], n = function (e, t) { const n = e.match(/^(\s+)(?:```)/); if (null === n) return t; const r = n[1]; return t.split("\n").map((e => { const t = e.match(/^\s+/); if (null === t) return e; const [n] = t; return n.length >= r.length ? e.slice(r.length) : e })).join("\n") }(e, t[3] || ""); return { type: "code", raw: e, lang: t[2] ? t[2].trim().replace(this.rules.inline._escapes, "$1") : t[2], text: n } } } heading(e) { const t = this.rules.block.heading.exec(e); if (t) { let e = t[2].trim(); if (/#$/.test(e)) { const t = Ls(e, "#"); this.options.pedantic ? e = t.trim() : t && !/ $/.test(t) || (e = t.trim()) } return { type: "heading", raw: t[0], depth: t[1].length, text: e, tokens: this.lexer.inline(e) } } } hr(e) { const t = this.rules.block.hr.exec(e); if (t) return { type: "hr", raw: t[0] } } blockquote(e) { const t = this.rules.block.blockquote.exec(e); if (t) { const e = t[0].replace(/^ *>[ \t]?/gm, ""), n = this.lexer.state.top; this.lexer.state.top = !0; const r = this.lexer.blockTokens(e); return this.lexer.state.top = n, { type: "blockquote", raw: t[0], tokens: r, text: e } } } list(e) { let t = this.rules.block.list.exec(e); if (t) { let n, r, l, i, s, o, a, c, u, p, d, h, f = t[1].trim(); const g = f.length > 1, m = { type: "list", raw: "", ordered: g, start: g ? +f.slice(0, -1) : "", loose: !1, items: [] }; f = g ? `\\d{1,9}\\${f.slice(-1)}` : `\\${f}`, this.options.pedantic && (f = g ? f : "[*+-]"); const v = new RegExp(`^( {0,3}${f})((?:[\t ][^\\n]*)?(?:\\n|$))`); for (; e && (h = !1, t = v.exec(e)) && !this.rules.block.hr.test(e);) { if (n = t[0], e = e.substring(n.length), c = t[2].split("\n", 1)[0].replace(/^\t+/, (e => " ".repeat(3 * e.length))), u = e.split("\n", 1)[0], this.options.pedantic ? (i = 2, d = c.trimLeft()) : (i = t[2].search(/[^ ]/), i = i > 4 ? 1 : i, d = c.slice(i), i += t[1].length), o = !1, !c && /^ *$/.test(u) && (n += u + "\n", e = e.substring(u.length + 1), h = !0), !h) { const t = new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`), r = new RegExp(`^ {0,${Math.min(3, i - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), l = new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:\`\`\`|~~~)`), s = new RegExp(`^ {0,${Math.min(3, i - 1)}}#`); for (; e && (p = e.split("\n", 1)[0], u = p, this.options.pedantic && (u = u.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ")), !l.test(u)) && !s.test(u) && !t.test(u) && !r.test(e);) { if (u.search(/[^ ]/) >= i || !u.trim()) d += "\n" + u.slice(i); else { if (o) break; if (c.search(/[^ ]/) >= 4) break; if (l.test(c)) break; if (s.test(c)) break; if (r.test(c)) break; d += "\n" + u } o || u.trim() || (o = !0), n += p + "\n", e = e.substring(p.length + 1), c = u.slice(i) } } m.loose || (a ? m.loose = !0 : /\n *\n *$/.test(n) && (a = !0)), this.options.gfm && (r = /^\[[ xX]\] /.exec(d), r && (l = "[ ] " !== r[0], d = d.replace(/^\[[ xX]\] +/, ""))), m.items.push({ type: "list_item", raw: n, task: !!r, checked: l, loose: !1, text: d }), m.raw += n } m.items[m.items.length - 1].raw = n.trimRight(), m.items[m.items.length - 1].text = d.trimRight(), m.raw = m.raw.trimRight(); const y = m.items.length; for (s = 0; s < y; s++)if (this.lexer.state.top = !1, m.items[s].tokens = this.lexer.blockTokens(m.items[s].text, []), !m.loose) { const e = m.items[s].tokens.filter((e => "space" === e.type)), t = e.length > 0 && e.some((e => /\n.*\n/.test(e.raw))); m.loose = t } if (m.loose) for (s = 0; s < y; s++)m.items[s].loose = !0; return m } } html(e) { const t = this.rules.block.html.exec(e); if (t) { const e = { type: "html", raw: t[0], pre: !this.options.sanitizer && ("pre" === t[1] || "script" === t[1] || "style" === t[1]), text: t[0] }; if (this.options.sanitize) { const n = this.options.sanitizer ? this.options.sanitizer(t[0]) : ms(t[0]); e.type = "paragraph", e.text = n, e.tokens = this.lexer.inline(n) } return e } } def(e) { const t = this.rules.block.def.exec(e); if (t) { const e = t[1].toLowerCase().replace(/\s+/g, " "), n = t[2] ? t[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline._escapes, "$1") : "", r = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline._escapes, "$1") : t[3]; return { type: "def", tag: e, raw: t[0], href: n, title: r } } } table(e) { const t = this.rules.block.table.exec(e); if (t) { const e = { type: "table", header: Es(t[1]).map((e => ({ text: e }))), align: t[2].replace(/^ *|\| *$/g, "").split(/ *\| */), rows: t[3] && t[3].trim() ? t[3].replace(/\n[ \t]*$/, "").split("\n") : [] }; if (e.header.length === e.align.length) { e.raw = t[0]; let n, r, l, i, s = e.align.length; for (n = 0; n < s; n++)/^ *-+: *$/.test(e.align[n]) ? e.align[n] = "right" : /^ *:-+: *$/.test(e.align[n]) ? e.align[n] = "center" : /^ *:-+ *$/.test(e.align[n]) ? e.align[n] = "left" : e.align[n] = null; for (s = e.rows.length, n = 0; n < s; n++)e.rows[n] = Es(e.rows[n], e.header.length).map((e => ({ text: e }))); for (s = e.header.length, r = 0; r < s; r++)e.header[r].tokens = this.lexer.inline(e.header[r].text); for (s = e.rows.length, r = 0; r < s; r++)for (i = e.rows[r], l = 0; l < i.length; l++)i[l].tokens = this.lexer.inline(i[l].text); return e } } } lheading(e) { const t = this.rules.block.lheading.exec(e); if (t) return { type: "heading", raw: t[0], depth: "=" === t[2].charAt(0) ? 1 : 2, text: t[1], tokens: this.lexer.inline(t[1]) } } paragraph(e) { const t = this.rules.block.paragraph.exec(e); if (t) { const e = "\n" === t[1].charAt(t[1].length - 1) ? t[1].slice(0, -1) : t[1]; return { type: "paragraph", raw: t[0], text: e, tokens: this.lexer.inline(e) } } } text(e) { const t = this.rules.block.text.exec(e); if (t) return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) } } escape(e) { const t = this.rules.inline.escape.exec(e); if (t) return { type: "escape", raw: t[0], text: ms(t[1]) } } tag(e) { const t = this.rules.inline.tag.exec(e); if (t) return !this.lexer.state.inLink && /^
/i.test(t[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(t[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0]) && (this.lexer.state.inRawBlock = !1), { type: this.options.sanitize ? "text" : "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(t[0]) : ms(t[0]) : t[0] } } link(e) { const t = this.rules.inline.link.exec(e); if (t) { const e = t[2].trim(); if (!this.options.pedantic && /^$/.test(e)) return; const t = Ls(e.slice(0, -1), "\\"); if ((e.length - t.length) % 2 == 0) return } else { const e = function (e, t) { if (-1 === e.indexOf(t[1])) return -1; const n = e.length; let r = 0, l = 0; for (; l < n; l++)if ("\\" === e[l]) l++; else if (e[l] === t[0]) r++; else if (e[l] === t[1] && (r--, r < 0)) return l; return -1 }(t[2], "()"); if (e > -1) { const n = (0 === t[0].indexOf("!") ? 5 : 4) + t[1].length + e; t[2] = t[2].substring(0, e), t[0] = t[0].substring(0, n).trim(), t[3] = "" } } let n = t[2], r = ""; if (this.options.pedantic) { const e = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n); e && (n = e[1], r = e[3]) } else r = t[3] ? t[3].slice(1, -1) : ""; return n = n.trim(), /^$/.test(e) ? n.slice(1) : n.slice(1, -1)), Is(t, { href: n ? n.replace(this.rules.inline._escapes, "$1") : n, title: r ? r.replace(this.rules.inline._escapes, "$1") : r }, t[0], this.lexer) } } reflink(e, t) { let n; if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { let e = (n[2] || n[1]).replace(/\s+/g, " "); if (e = t[e.toLowerCase()], !e) { const e = n[0].charAt(0); return { type: "text", raw: e, text: e } } return Is(n, e, n[0], this.lexer) } } emStrong(e, t, n = "") { let r = this.rules.inline.emStrong.lDelim.exec(e); if (!r) return; if (r[3] && n.match(/[\p{L}\p{N}]/u)) return; const l = r[1] || r[2] || ""; if (!l || l && ("" === n || this.rules.inline.punctuation.exec(n))) { const n = r[0].length - 1; let l, i, s = n, o = 0; const a = "*" === r[0][0] ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; for (a.lastIndex = 0, t = t.slice(-1 * e.length + n); null != (r = a.exec(t));) { if (l = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !l) continue; if (i = l.length, r[3] || r[4]) { s += i; continue } if ((r[5] || r[6]) && n % 3 && !((n + i) % 3)) { o += i; continue } if (s -= i, s > 0) continue; i = Math.min(i, i + s + o); const t = e.slice(0, n + r.index + (r[0].length - l.length) + i); if (Math.min(n, i) % 2) { const e = t.slice(1, -1); return { type: "em", raw: t, text: e, tokens: this.lexer.inlineTokens(e) } } const a = t.slice(2, -2); return { type: "strong", raw: t, text: a, tokens: this.lexer.inlineTokens(a) } } } } codespan(e) { const t = this.rules.inline.code.exec(e); if (t) { let e = t[2].replace(/\n/g, " "); const n = /[^ ]/.test(e), r = /^ /.test(e) && / $/.test(e); return n && r && (e = e.substring(1, e.length - 1)), e = ms(e, !0), { type: "codespan", raw: t[0], text: e } } } br(e) { const t = this.rules.inline.br.exec(e); if (t) return { type: "br", raw: t[0] } } del(e) { const t = this.rules.inline.del.exec(e); if (t) return { type: "del", raw: t[0], text: t[2], tokens: this.lexer.inlineTokens(t[2]) } } autolink(e, t) { const n = this.rules.inline.autolink.exec(e); if (n) { let e, r; return "@" === n[2] ? (e = ms(this.options.mangle ? t(n[1]) : n[1]), r = "mailto:" + e) : (e = ms(n[1]), r = e), { type: "link", raw: n[0], text: e, href: r, tokens: [{ type: "text", raw: e, text: e }] } } } url(e, t) { let n; if (n = this.rules.inline.url.exec(e)) { let e, r; if ("@" === n[2]) e = ms(this.options.mangle ? t(n[0]) : n[0]), r = "mailto:" + e; else { let t; do { t = n[0], n[0] = this.rules.inline._backpedal.exec(n[0])[0] } while (t !== n[0]); e = ms(n[0]), r = "www." === n[1] ? "http://" + n[0] : n[0] } return { type: "link", raw: n[0], text: e, href: r, tokens: [{ type: "text", raw: e, text: e }] } } } inlineText(e, t) { const n = this.rules.inline.text.exec(e); if (n) { let e; return e = this.lexer.state.inRawBlock ? this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(n[0]) : ms(n[0]) : n[0] : ms(this.options.smartypants ? t(n[0]) : n[0]), { type: "text", raw: n[0], text: e } } } } const Os = { newline: /^(?: *(?:\n|$))+/, code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))", def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, table: As, lheading: /^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, text: /^[^\n]+/, _label: /(?!\s*\])(?:\\.|[^\[\]\\])+/, _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/ }; Os.def = bs(Os.def).replace("label", Os._label).replace("title", Os._title).getRegex(), Os.bullet = /(?:[*+-]|\d{1,9}[.)])/, Os.listItemStart = bs(/^( *)(bull) */).replace("bull", Os.bullet).getRegex(), Os.list = bs(Os.list).replace(/bull/g, Os.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + Os.def.source + ")").getRegex(), Os._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Os._comment = /|$)/, Os.html = bs(Os.html, "i").replace("comment", Os._comment).replace("tag", Os._tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Os.paragraph = bs(Os._paragraph).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.blockquote = bs(Os.blockquote).replace("paragraph", Os.paragraph).getRegex(), Os.normal = { ...Os }, Os.gfm = { ...Os.normal, table: "^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)" }, Os.gfm.table = bs(Os.gfm.table).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.gfm.paragraph = bs(Os._paragraph).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("table", Os.gfm.table).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.pedantic = { ...Os.normal, html: bs("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Os._comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: As, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: bs(Os.normal._paragraph).replace("hr", Os.hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Os.lheading).replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").getRegex() }; const Ts = { escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, url: As, tag: "^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^", link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, reflink: /^!?\[(label)\]\[(ref)\]/, nolink: /^!?\[(ref)\](?:\[\])?/, reflinkSearch: "reflink|nolink(?!\\()", emStrong: { lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, rDelimAst: /^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/, rDelimUnd: /^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ }, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, br: /^( {2,}|\\)\n(?!\s*$)/, del: As, text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\ .5 && (n = "x" + n.toString(16)), r += "" + n + ";"; return r } Ts._punctuation = "!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~", Ts.punctuation = bs(Ts.punctuation).replace(/punctuation/g, Ts._punctuation).getRegex(), Ts.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g, Ts.escapedEmSt = /(?:^|[^\\])(?:\\\\)*\\[*_]/g, Ts._comment = bs(Os._comment).replace("(?:--\x3e|$)", "--\x3e").getRegex(), Ts.emStrong.lDelim = bs(Ts.emStrong.lDelim).replace(/punct/g, Ts._punctuation).getRegex(), Ts.emStrong.rDelimAst = bs(Ts.emStrong.rDelimAst, "g").replace(/punct/g, Ts._punctuation).getRegex(), Ts.emStrong.rDelimUnd = bs(Ts.emStrong.rDelimUnd, "g").replace(/punct/g, Ts._punctuation).getRegex(), Ts._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g, Ts._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/, Ts._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/, Ts.autolink = bs(Ts.autolink).replace("scheme", Ts._scheme).replace("email", Ts._email).getRegex(), Ts._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/, Ts.tag = bs(Ts.tag).replace("comment", Ts._comment).replace("attribute", Ts._attribute).getRegex(), Ts._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, Ts._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/, Ts._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/, Ts.link = bs(Ts.link).replace("label", Ts._label).replace("href", Ts._href).replace("title", Ts._title).getRegex(), Ts.reflink = bs(Ts.reflink).replace("label", Ts._label).replace("ref", Os._label).getRegex(), Ts.nolink = bs(Ts.nolink).replace("ref", Os._label).getRegex(), Ts.reflinkSearch = bs(Ts.reflinkSearch, "g").replace("reflink", Ts.reflink).replace("nolink", Ts.nolink).getRegex(), Ts.normal = { ...Ts }, Ts.pedantic = { ...Ts.normal, strong: { start: /^__|\*\*/, middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, endAst: /\*\*(?!\*)/g, endUnd: /__(?!_)/g }, em: { start: /^_|\*/, middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, endAst: /\*(?!\*)/g, endUnd: /_(?!_)/g }, link: bs(/^!?\[(label)\]\((.*?)\)/).replace("label", Ts._label).getRegex(), reflink: bs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Ts._label).getRegex() }, Ts.gfm = { ...Ts.normal, escape: bs(Ts.escape).replace("])", "~|])").getRegex(), _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ t + " ".repeat(n.length))); e;)if (!(this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((r => !!(n = r.call({ lexer: this }, e, t)) && (e = e.substring(n.raw.length), t.push(n), !0))))) if (n = this.tokenizer.space(e)) e = e.substring(n.raw.length), 1 === n.raw.length && t.length > 0 ? t[t.length - 1].raw += "\n" : t.push(n); else if (n = this.tokenizer.code(e)) e = e.substring(n.raw.length), r = t[t.length - 1], !r || "paragraph" !== r.type && "text" !== r.type ? t.push(n) : (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue[this.inlineQueue.length - 1].src = r.text); else if (n = this.tokenizer.fences(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.heading(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.hr(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.blockquote(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.list(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.html(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.def(e)) e = e.substring(n.raw.length), r = t[t.length - 1], !r || "paragraph" !== r.type && "text" !== r.type ? this.tokens.links[n.tag] || (this.tokens.links[n.tag] = { href: n.href, title: n.title }) : (r.raw += "\n" + n.raw, r.text += "\n" + n.raw, this.inlineQueue[this.inlineQueue.length - 1].src = r.text); else if (n = this.tokenizer.table(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.lheading(e)) e = e.substring(n.raw.length), t.push(n); else { if (l = e, this.options.extensions && this.options.extensions.startBlock) { let t = 1 / 0; const n = e.slice(1); let r; this.options.extensions.startBlock.forEach((function (e) { r = e.call({ lexer: this }, n), "number" == typeof r && r >= 0 && (t = Math.min(t, r)) })), t < 1 / 0 && t >= 0 && (l = e.substring(0, t + 1)) } if (this.state.top && (n = this.tokenizer.paragraph(l))) r = t[t.length - 1], i && "paragraph" === r.type ? (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : t.push(n), i = l.length !== e.length, e = e.substring(n.raw.length); else if (n = this.tokenizer.text(e)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === r.type ? (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : t.push(n); else if (e) { const t = "Infinite loop on byte: " + e.charCodeAt(0); if (this.options.silent) { console.error(t); break } throw new Error(t) } } return this.state.top = !0, t } inline(e, t = []) { return this.inlineQueue.push({ src: e, tokens: t }), t } inlineTokens(e, t = []) { let n, r, l, i, s, o, a = e; if (this.tokens.links) { const e = Object.keys(this.tokens.links); if (e.length > 0) for (; null != (i = this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[") + 1, -1)) && (a = a.slice(0, i.index) + "[" + zs("a", i[0].length - 2) + "]" + a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)) } for (; null != (i = this.tokenizer.rules.inline.blockSkip.exec(a));)a = a.slice(0, i.index) + "[" + zs("a", i[0].length - 2) + "]" + a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); for (; null != (i = this.tokenizer.rules.inline.escapedEmSt.exec(a));)a = a.slice(0, i.index + i[0].length - 2) + "++" + a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex), this.tokenizer.rules.inline.escapedEmSt.lastIndex--; for (; e;)if (s || (o = ""), s = !1, !(this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((r => !!(n = r.call({ lexer: this }, e, t)) && (e = e.substring(n.raw.length), t.push(n), !0))))) if (n = this.tokenizer.escape(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.tag(e)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === n.type && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (n = this.tokenizer.link(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.reflink(e, this.tokens.links)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === n.type && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (n = this.tokenizer.emStrong(e, a, o)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.codespan(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.br(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.del(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.autolink(e, Ps)) e = e.substring(n.raw.length), t.push(n); else if (this.state.inLink || !(n = this.tokenizer.url(e, Ps))) { if (l = e, this.options.extensions && this.options.extensions.startInline) { let t = 1 / 0; const n = e.slice(1); let r; this.options.extensions.startInline.forEach((function (e) { r = e.call({ lexer: this }, n), "number" == typeof r && r >= 0 && (t = Math.min(t, r)) })), t < 1 / 0 && t >= 0 && (l = e.substring(0, t + 1)) } if (n = this.tokenizer.inlineText(l, Us)) e = e.substring(n.raw.length), "_" !== n.raw.slice(-1) && (o = n.raw.slice(-1)), s = !0, r = t[t.length - 1], r && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (e) { const t = "Infinite loop on byte: " + e.charCodeAt(0); if (this.options.silent) { console.error(t); break } throw new Error(t) } } else e = e.substring(n.raw.length), t.push(n); return t } } class Fs { constructor(e) { this.options = e || cs } code(e, t, n) { const r = (t || "").match(/\S*/)[0]; if (this.options.highlight) { const t = this.options.highlight(e, r); null != t && t !== e && (n = !0, e = t) } return e = e.replace(/\n$/, "") + "\n", r ? '' + (n ? e : ms(e, !0)) + "
\n" : "" + (n ? e : ms(e, !0)) + "
\n" } blockquote(e) { return `\n${e} \n` } html(e) { return e } heading(e, t, n, r) { if (this.options.headerIds) { return `\n` } return `${e} \n` } hr() { return this.options.xhtml ? " \n" : " \n" } list(e, t, n) { const r = t ? "ol" : "ul"; return "<" + r + (t && 1 !== n ? ' start="' + n + '"' : "") + ">\n" + e + "" + r + ">\n" } listitem(e) { return `${e} \n` } checkbox(e) { return " " } paragraph(e) { return `${e}
\n` } table(e, t) { return t && (t = `${t} `), " \n" } tablerow(e) { return `
\n${e} \n` } tablecell(e, t) { const n = t.header ? "th" : "td"; return (t.align ? `<${n} align="${t.align}">` : `<${n}>`) + e + `${n}>\n` } strong(e) { return `
${e} ` } em(e) { return `
${e} ` } codespan(e) { return `
${e}
` } br() { return this.options.xhtml ? "
" : "
" } del(e) { return `
${e}` } link(e, t, n) { if (null === (e = _s(this.options.sanitize, this.options.baseUrl, e))) return n; let r = '
" + n + " ", r } image(e, t, n) { if (null === (e = _s(this.options.sanitize, this.options.baseUrl, e))) return n; let r = `
" : ">", r } text(e) { return e } } class Ns { strong(e) { return e } em(e) { return e } codespan(e) { return e } del(e) { return e } html(e) { return e } text(e) { return e } link(e, t, n) { return "" + n } image(e, t, n) { return "" + n } br() { return "" } } class Vs { constructor() { this.seen = {} } serialize(e) { return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi, "").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, "").replace(/\s/g, "-") } getNextSafeSlug(e, t) { let n = e, r = 0; if (this.seen.hasOwnProperty(n)) { r = this.seen[e]; do { r++, n = e + "-" + r } while (this.seen.hasOwnProperty(n)) } return t || (this.seen[e] = r, this.seen[n] = 0), n } slug(e, t = {}) { const n = this.serialize(e); return this.getNextSafeSlug(n, t.dryrun) } } class Ds { constructor(e) { this.options = e || cs, this.options.renderer = this.options.renderer || new Fs, this.renderer = this.options.renderer, this.renderer.options = this.options, this.textRenderer = new Ns, this.slugger = new Vs } static parse(e, t) { return new Ds(t).parse(e) } static parseInline(e, t) { return new Ds(t).parseInline(e) } parse(e, t = !0) { let n, r, l, i, s, o, a, c, u, p, d, h, f, g, m, v, y, w, b, k = ""; const x = e.length; for (n = 0; n < x; n++)if (p = e[n], this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[p.type] && (b = this.options.extensions.renderers[p.type].call({ parser: this }, p), !1 !== b || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(p.type))) k += b || ""; else switch (p.type) { case "space": continue; case "hr": k += this.renderer.hr(); continue; case "heading": k += this.renderer.heading(this.parseInline(p.tokens), p.depth, ys(this.parseInline(p.tokens, this.textRenderer)), this.slugger); continue; case "code": k += this.renderer.code(p.text, p.lang, p.escaped); continue; case "table": for (c = "", a = "", i = p.header.length, r = 0; r < i; r++)a += this.renderer.tablecell(this.parseInline(p.header[r].tokens), { header: !0, align: p.align[r] }); for (c += this.renderer.tablerow(a), u = "", i = p.rows.length, r = 0; r < i; r++) { for (o = p.rows[r], a = "", s = o.length, l = 0; l < s; l++)a += this.renderer.tablecell(this.parseInline(o[l].tokens), { header: !1, align: p.align[l] }); u += this.renderer.tablerow(a) } k += this.renderer.table(c, u); continue; case "blockquote": u = this.parse(p.tokens), k += this.renderer.blockquote(u); continue; case "list": for (d = p.ordered, h = p.start, f = p.loose, i = p.items.length, u = "", r = 0; r < i; r++)m = p.items[r], v = m.checked, y = m.task, g = "", m.task && (w = this.renderer.checkbox(v), f ? m.tokens.length > 0 && "paragraph" === m.tokens[0].type ? (m.tokens[0].text = w + " " + m.tokens[0].text, m.tokens[0].tokens && m.tokens[0].tokens.length > 0 && "text" === m.tokens[0].tokens[0].type && (m.tokens[0].tokens[0].text = w + " " + m.tokens[0].tokens[0].text)) : m.tokens.unshift({ type: "text", text: w }) : g += w), g += this.parse(m.tokens, f), u += this.renderer.listitem(g, y, v); k += this.renderer.list(u, d, h); continue; case "html": k += this.renderer.html(p.text); continue; case "paragraph": k += this.renderer.paragraph(this.parseInline(p.tokens)); continue; case "text": for (u = p.tokens ? this.parseInline(p.tokens) : p.text; n + 1 < x && "text" === e[n + 1].type;)p = e[++n], u += "\n" + (p.tokens ? this.parseInline(p.tokens) : p.text); k += t ? this.renderer.paragraph(u) : u; continue; default: { const e = 'Token with "' + p.type + '" type was not found.'; if (this.options.silent) return void console.error(e); throw new Error(e) } }return k } parseInline(e, t) { t = t || this.renderer; let n, r, l, i = ""; const s = e.length; for (n = 0; n < s; n++)if (r = e[n], this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[r.type] && (l = this.options.extensions.renderers[r.type].call({ parser: this }, r), !1 !== l || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(r.type))) i += l || ""; else switch (r.type) { case "escape": case "text": i += t.text(r.text); break; case "html": i += t.html(r.text); break; case "link": i += t.link(r.href, r.title, this.parseInline(r.tokens, t)); break; case "image": i += t.image(r.href, r.title, r.text); break; case "strong": i += t.strong(this.parseInline(r.tokens, t)); break; case "em": i += t.em(this.parseInline(r.tokens, t)); break; case "codespan": i += t.codespan(r.text); break; case "br": i += t.br(); break; case "del": i += t.del(this.parseInline(r.tokens, t)); break; default: { const e = 'Token with "' + r.type + '" type was not found.'; if (this.options.silent) return void console.error(e); throw new Error(e) } }return i } } class Hs { constructor(e) { this.options = e || cs } static passThroughHooks = new Set(["preprocess", "postprocess"]); preprocess(e) { return e } postprocess(e) { return e } } function Bs(e, t) { return (n, r, l) => { "function" == typeof r && (l = r, r = null); const i = { ...r }, s = function (e, t, n) { return r => { if (r.message += "\nPlease report this to https://github.com/markedjs/marked.", e) { const e = "
An error occurred:
" + ms(r.message + "", !0) + " "; return t ? Promise.resolve(e) : n ? void n(null, e) : e } if (t) return Promise.reject(r); if (!n) throw r; n(r) } }((r = { ...Ws.defaults, ...i }).silent, r.async, l); if (null == n) return s(new Error("marked(): input parameter is undefined or null")); if ("string" != typeof n) return s(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); if (function (e) { e && e.sanitize && !e.silent && console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options") }(r), r.hooks && (r.hooks.options = r), l) { const i = r.highlight; let o; try { r.hooks && (n = r.hooks.preprocess(n)), o = e(n, r) } catch (e) { return s(e) } const a = function (e) { let n; if (!e) try { r.walkTokens && Ws.walkTokens(o, r.walkTokens), n = t(o, r), r.hooks && (n = r.hooks.postprocess(n)) } catch (t) { e = t } return r.highlight = i, e ? s(e) : l(null, n) }; if (!i || i.length < 3) return a(); if (delete r.highlight, !o.length) return a(); let c = 0; return Ws.walkTokens(o, (function (e) { "code" === e.type && (c++, setTimeout((() => { i(e.text, e.lang, (function (t, n) { if (t) return a(t); null != n && n !== e.text && (e.text = n, e.escaped = !0), c--, 0 === c && a() })) }), 0)) })), void (0 === c && a()) } if (r.async) return Promise.resolve(r.hooks ? r.hooks.preprocess(n) : n).then((t => e(t, r))).then((e => r.walkTokens ? Promise.all(Ws.walkTokens(e, r.walkTokens)).then((() => e)) : e)).then((e => t(e, r))).then((e => r.hooks ? r.hooks.postprocess(e) : e)).catch(s); try { r.hooks && (n = r.hooks.preprocess(n)); const l = e(n, r); r.walkTokens && Ws.walkTokens(l, r.walkTokens); let i = t(l, r); return r.hooks && (i = r.hooks.postprocess(i)), i } catch (e) { return s(e) } } } function Ws(e, t, n) { return Bs(Ms.lex, Ds.parse)(e, t, n) } Ws.options = Ws.setOptions = function (e) { var t; return Ws.defaults = { ...Ws.defaults, ...e }, t = Ws.defaults, cs = t, Ws }, Ws.getDefaults = as, Ws.defaults = cs, Ws.use = function (...e) { const t = Ws.defaults.extensions || { renderers: {}, childTokens: {} }; e.forEach((e => { const n = { ...e }; if (n.async = Ws.defaults.async || n.async || !1, e.extensions && (e.extensions.forEach((e => { if (!e.name) throw new Error("extension name required"); if (e.renderer) { const n = t.renderers[e.name]; t.renderers[e.name] = n ? function (...t) { let r = e.renderer.apply(this, t); return !1 === r && (r = n.apply(this, t)), r } : e.renderer } if (e.tokenizer) { if (!e.level || "block" !== e.level && "inline" !== e.level) throw new Error("extension level must be 'block' or 'inline'"); t[e.level] ? t[e.level].unshift(e.tokenizer) : t[e.level] = [e.tokenizer], e.start && ("block" === e.level ? t.startBlock ? t.startBlock.push(e.start) : t.startBlock = [e.start] : "inline" === e.level && (t.startInline ? t.startInline.push(e.start) : t.startInline = [e.start])) } e.childTokens && (t.childTokens[e.name] = e.childTokens) })), n.extensions = t), e.renderer) { const t = Ws.defaults.renderer || new Fs; for (const n in e.renderer) { const r = t[n]; t[n] = (...l) => { let i = e.renderer[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.renderer = t } if (e.tokenizer) { const t = Ws.defaults.tokenizer || new js; for (const n in e.tokenizer) { const r = t[n]; t[n] = (...l) => { let i = e.tokenizer[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.tokenizer = t } if (e.hooks) { const t = Ws.defaults.hooks || new Hs; for (const n in e.hooks) { const r = t[n]; Hs.passThroughHooks.has(n) ? t[n] = l => { if (Ws.defaults.async) return Promise.resolve(e.hooks[n].call(t, l)).then((e => r.call(t, e))); const i = e.hooks[n].call(t, l); return r.call(t, i) } : t[n] = (...l) => { let i = e.hooks[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.hooks = t } if (e.walkTokens) { const t = Ws.defaults.walkTokens; n.walkTokens = function (n) { let r = []; return r.push(e.walkTokens.call(this, n)), t && (r = r.concat(t.call(this, n))), r } } Ws.setOptions(n) })) }, Ws.walkTokens = function (e, t) { let n = []; for (const r of e) switch (n = n.concat(t.call(Ws, r)), r.type) { case "table": for (const e of r.header) n = n.concat(Ws.walkTokens(e.tokens, t)); for (const e of r.rows) for (const r of e) n = n.concat(Ws.walkTokens(r.tokens, t)); break; case "list": n = n.concat(Ws.walkTokens(r.items, t)); break; default: Ws.defaults.extensions && Ws.defaults.extensions.childTokens && Ws.defaults.extensions.childTokens[r.type] ? Ws.defaults.extensions.childTokens[r.type].forEach((function (e) { n = n.concat(Ws.walkTokens(r[e], t)) })) : r.tokens && (n = n.concat(Ws.walkTokens(r.tokens, t))) }return n }, Ws.parseInline = Bs(Ms.lexInline, Ds.parseInline), Ws.Parser = Ds, Ws.parser = Ds.parse, Ws.Renderer = Fs, Ws.TextRenderer = Ns, Ws.Lexer = Ms, Ws.lexer = Ms.lex, Ws.Tokenizer = js, Ws.Slugger = Vs, Ws.Hooks = Hs, Ws.parse = Ws; const qs = /\$.*?\$/, Zs = /^\$(.*?)\$/, Ks = /^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/, Gs = (e = "", t = {}) => e.replace(/:(.+?):/g, ((e, n) => t[n] ? `
` : e)), Qs = (e, { emojiMap: t, highlighter: n, texRenderer: r }) => { if (Ws.setOptions({ highlight: n || void 0, breaks: !0, smartLists: !0, smartypants: !0 }), r) { const e = (e => [{ name: "blockMath", level: "block", tokenizer(t) { const n = Ks.exec(t); if (null !== n) return { type: "html", raw: n[0], text: e(!0, n[1]) } } }, { name: "inlineMath", level: "inline", start(e) { const t = e.search(qs); return -1 !== t ? t : e.length }, tokenizer(t) { const n = Zs.exec(t); if (null !== n) return { type: "html", raw: n[0], text: e(!1, n[1]) } } }])(r); Ws.use({ extensions: e }) } return Ws.parse(Gs(e, t)) }, Js = e => e.dataset.path || e.getAttribute("id"), Xs = ({ serverURL: e, path: t = window.location.pathname, selector: n = ".waline-comment-count", lang: r = navigator.language }) => { const l = new AbortController, i = document.querySelectorAll(n); return i.length && (({ serverURL: e, lang: t, paths: n, signal: r }) => fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`, { signal: r }).then((e => e.json())).then((e => Array.isArray(e) ? e : [e])))({ serverURL: E(e), paths: Array.from(i).map((e => S(e.dataset.path || e.getAttribute("id") || t))), lang: r, signal: l.signal }).then((e => { i.forEach(((t, n) => { t.innerText = e[n].toString() })) })).catch(ls), l.abort.bind(l) }, Ys = ({ size: e }) => Cl("svg", { class: "wl-close-icon", viewBox: "0 0 1024 1024", width: e, height: e }, [Cl("path", { d: "M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z", fill: "currentColor" }), Cl("path", { d: "m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z", fill: "#888" })]), eo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z", fill: "red" })), to = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z", fill: "currentColor" })), no = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z", fill: "currentColor" }), Cl("path", { d: "M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z", fill: "currentColor" })]), ro = ({ active: e = !1 }) => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z" + (e ? "" : "M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"), fill: e ? "red" : "currentColor" })]), lo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0", fill: "currentColor" }), Cl("path", { d: "M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0", fill: "currentColor" })]), io = () => Cl("svg", { width: "16", height: "16", ariaHidden: "true" }, Cl("path", { d: "M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z", fill: "currentColor" })), so = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z", fill: "currentColor" })), oo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z", fill: "currentColor" })), ao = () => Cl("svg", { class: "verified-icon", viewBox: "0 0 1024 1024", width: "14", height: "14" }, Cl("path", { d: "m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z", fill: "#27ae60" })), co = ({ size: e = 100 }) => Cl("svg", { width: e, height: e, viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid" }, Cl("circle", { cx: 50, cy: 50, fill: "none", stroke: "currentColor", strokeWidth: "4", r: "40", "stroke-dasharray": "85 30" }, Cl("animateTransform", { attributeName: "transform", type: "rotate", repeatCount: "indefinite", dur: "1s", values: "0 50 50;360 50 50", keyTimes: "0;1" }))), uo = () => Cl("svg", { width: 24, height: 24, fill: "currentcolor", viewBox: "0 0 24 24" }, [Cl("path", { style: "transform: translateY(0.5px)", d: "M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z" }), Cl("path", { d: "M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z" })]); let po = null; const ho = () => po || (po = Zi("WALINE_LIKE", [])); let fo = null; const go = () => fo ?? (fo = Zi("WALINE_REACTION", {})); var mo = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, vo = {}, yo = {}, wo = {}, bo = mo && mo.__awaiter || function (e, t, n, r) { return new (n || (n = Promise))((function (l, i) { function s(e) { try { a(r.next(e)) } catch (e) { i(e) } } function o(e) { try { a(r.throw(e)) } catch (e) { i(e) } } function a(e) { var t; e.done ? l(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(s, o) } a((r = r.apply(e, t || [])).next()) })) }, ko = mo && mo.__generator || function (e, t) { var n, r, l, i, s = { label: 0, sent: function () { if (1 & l[0]) throw l[1]; return l[1] }, trys: [], ops: [] }; return i = { next: o(0), throw: o(1), return: o(2) }, "function" == typeof Symbol && (i[Symbol.iterator] = function () { return this }), i; function o(i) { return function (o) { return function (i) { if (n) throw new TypeError("Generator is already executing."); for (; s;)try { if (n = 1, r && (l = 2 & i[0] ? r.return : i[0] ? r.throw || ((l = r.return) && l.call(r), 0) : r.next) && !(l = l.call(r, i[1])).done) return l; switch (r = 0, l && (i = [2 & i[0], l.value]), i[0]) { case 0: case 1: l = i; break; case 4: return s.label++, { value: i[1], done: !1 }; case 5: s.label++, r = i[1], i = [0]; continue; case 7: i = s.ops.pop(), s.trys.pop(); continue; default: if (!(l = s.trys, (l = l.length > 0 && l[l.length - 1]) || 6 !== i[0] && 2 !== i[0])) { s = 0; continue } if (3 === i[0] && (!l || i[1] > l[0] && i[1] < l[3])) { s.label = i[1]; break } if (6 === i[0] && s.label < l[1]) { s.label = l[1], l = i; break } if (l && s.label < l[2]) { s.label = l[2], s.ops.push(i); break } l[2] && s.ops.pop(), s.trys.pop(); continue }i = t.call(e, s) } catch (e) { i = [6, e], r = 0 } finally { n = l = 0 } if (5 & i[0]) throw i[1]; return { value: i[0] ? i[1] : void 0, done: !0 } }([i, o]) } } }; Object.defineProperty(wo, "__esModule", { value: !0 }), wo.ReCaptchaInstance = void 0; var xo = function () { function e(e, t, n) { this.siteKey = e, this.recaptchaID = t, this.recaptcha = n, this.styleContainer = null } return e.prototype.execute = function (e) { return bo(this, void 0, void 0, (function () { return ko(this, (function (t) { return [2, this.recaptcha.enterprise ? this.recaptcha.enterprise.execute(this.recaptchaID, { action: e }) : this.recaptcha.execute(this.recaptchaID, { action: e })] })) })) }, e.prototype.getSiteKey = function () { return this.siteKey }, e.prototype.hideBadge = function () { null === this.styleContainer && (this.styleContainer = document.createElement("style"), this.styleContainer.innerHTML = ".grecaptcha-badge{visibility:hidden !important;}", document.head.appendChild(this.styleContainer)) }, e.prototype.showBadge = function () { null !== this.styleContainer && (document.head.removeChild(this.styleContainer), this.styleContainer = null) }, e }(); wo.ReCaptchaInstance = xo, Object.defineProperty(yo, "__esModule", { value: !0 }), yo.getInstance = yo.load = void 0; var _o, $o = wo; !function (e) { e[e.NOT_LOADED = 0] = "NOT_LOADED", e[e.LOADING = 1] = "LOADING", e[e.LOADED = 2] = "LOADED" }(_o || (_o = {})); var Co = function () { function e() { } return e.load = function (t, n) { if (void 0 === n && (n = {}), "undefined" == typeof document) return Promise.reject(new Error("This is a library for the browser!")); if (e.getLoadingState() === _o.LOADED) return e.instance.getSiteKey() === t ? Promise.resolve(e.instance) : Promise.reject(new Error("reCAPTCHA already loaded with different site key!")); if (e.getLoadingState() === _o.LOADING) return t !== e.instanceSiteKey ? Promise.reject(new Error("reCAPTCHA already loaded with different site key!")) : new Promise((function (t, n) { e.successfulLoadingConsumers.push((function (e) { return t(e) })), e.errorLoadingRunnable.push((function (e) { return n(e) })) })); e.instanceSiteKey = t, e.setLoadingState(_o.LOADING); var r = new e; return new Promise((function (l, i) { r.loadScript(t, n.useRecaptchaNet || !1, n.useEnterprise || !1, n.renderParameters ? n.renderParameters : {}, n.customUrl).then((function () { e.setLoadingState(_o.LOADED); var i = r.doExplicitRender(grecaptcha, t, n.explicitRenderParameters ? n.explicitRenderParameters : {}, n.useEnterprise || !1), s = new $o.ReCaptchaInstance(t, i, grecaptcha); e.successfulLoadingConsumers.forEach((function (e) { return e(s) })), e.successfulLoadingConsumers = [], n.autoHideBadge && s.hideBadge(), e.instance = s, l(s) })).catch((function (t) { e.errorLoadingRunnable.forEach((function (e) { return e(t) })), e.errorLoadingRunnable = [], i(t) })) })) }, e.getInstance = function () { return e.instance }, e.setLoadingState = function (t) { e.loadingState = t }, e.getLoadingState = function () { return null === e.loadingState ? _o.NOT_LOADED : e.loadingState }, e.prototype.loadScript = function (t, n, r, l, i) { var s = this; void 0 === n && (n = !1), void 0 === r && (r = !1), void 0 === l && (l = {}), void 0 === i && (i = ""); var o = document.createElement("script"); o.setAttribute("recaptcha-v3-script", ""); var a = "https://www.google.com/recaptcha/api.js"; n && (a = r ? "https://recaptcha.net/recaptcha/enterprise.js" : "https://recaptcha.net/recaptcha/api.js"), r && (a = "https://www.google.com/recaptcha/enterprise.js"), i && (a = i), l.render && (l.render = void 0); var c = this.buildQueryString(l); return o.src = a + "?render=explicit" + c, new Promise((function (t, n) { o.addEventListener("load", s.waitForScriptToLoad((function () { t(o) }), r), !1), o.onerror = function (t) { e.setLoadingState(_o.NOT_LOADED), n(t) }, document.head.appendChild(o) })) }, e.prototype.buildQueryString = function (e) { return Object.keys(e).length < 1 ? "" : "&" + Object.keys(e).filter((function (t) { return !!e[t] })).map((function (t) { return t + "=" + e[t] })).join("&") }, e.prototype.waitForScriptToLoad = function (t, n) { var r = this; return function () { void 0 === window.grecaptcha ? setTimeout((function () { r.waitForScriptToLoad(t, n) }), e.SCRIPT_LOAD_DELAY) : n ? window.grecaptcha.enterprise.ready((function () { t() })) : window.grecaptcha.ready((function () { t() })) } }, e.prototype.doExplicitRender = function (e, t, n, r) { var l = { sitekey: t, badge: n.badge, size: n.size, tabindex: n.tabindex }; return n.container ? r ? e.enterprise.render(n.container, l) : e.render(n.container, l) : r ? e.enterprise.render(l) : e.render(l) }, e.loadingState = null, e.instance = null, e.instanceSiteKey = null, e.successfulLoadingConsumers = [], e.errorLoadingRunnable = [], e.SCRIPT_LOAD_DELAY = 25, e }(); yo.load = Co.load, yo.getInstance = Co.getInstance, function (e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.ReCaptchaInstance = e.getInstance = e.load = void 0; var t = yo; Object.defineProperty(e, "load", { enumerable: !0, get: function () { return t.load } }), Object.defineProperty(e, "getInstance", { enumerable: !0, get: function () { return t.getInstance } }); var n = wo; Object.defineProperty(e, "ReCaptchaInstance", { enumerable: !0, get: function () { return n.ReCaptchaInstance } }) }(vo); const So = {}; let Ro = null; const Ao = () => Ro ?? (Ro = Zi("WALINE_USER", {})), Eo = { key: 0, class: "wl-reaction" }, Lo = ["textContent"], zo = { class: "wl-reaction-list" }, Io = ["onClick"], jo = { class: "wl-reaction-img" }, Oo = ["src", "alt"], To = ["textContent"], Uo = ["textContent"]; var Po = Zn({ __name: "ArticleReaction", setup(e, { expose: t }) { t(); const n = go(), r = Vn("config"), l = tn(-1), i = tn([]), s = $l((() => r.value.locale)), o = $l((() => r.value.reaction.length > 0)), a = $l((() => { const { reaction: e, path: t } = r.value; return e.map(((e, r) => ({ icon: e, desc: s.value[`reaction${r}`], active: n.value[t] === r }))) })); let c; return Jn((() => { Bn((() => [r.value.serverURL, r.value.path]), (() => { (async () => { if (o.value) { const { serverURL: e, lang: t, path: n, reaction: l } = r.value, s = new AbortController; c = s.abort.bind(s); const o = await _({ serverURL: e, lang: t, paths: [n], type: l.map(((e, t) => `reaction${t}`)), signal: s.signal }); if (Array.isArray(o) || "number" == typeof o) return; i.value = l.map(((e, t) => o[`reaction${t}`])) } })() }), { immediate: !0 }) })), Yn((() => c?.())), (e, t) => sn(a).length ? (qr(), Qr("div", Eo, [rl("div", { class: "wl-reaction-title", textContent: q(sn(s).reactionTitle) }, null, 8, Lo), rl("ul", zo, [(qr(!0), Qr(Nr, null, sr(sn(a), (({ active: e, icon: t, desc: s }, o) => (qr(), Qr("li", { key: o, class: V(["wl-reaction-item", { active: e }]), onClick: e => (async e => { if (-1 === l.value) { const { serverURL: t, lang: s, path: o } = r.value, a = n.value[o]; l.value = e, void 0 !== a && (await $({ serverURL: t, lang: s, path: o, type: `reaction${a}`, action: "desc" }), i.value[a] = Math.max(i.value[a] - 1, 0)), a !== e && (await $({ serverURL: t, lang: s, path: o, type: `reaction${e}` }), i.value[e] = (i.value[e] || 0) + 1), a === e ? delete n.value[o] : n.value[o] = e, l.value = -1 } })(o) }, [rl("div", jo, [rl("img", { src: t, alt: s }, null, 8, Oo), l.value === o ? (qr(), Jr(sn(co), { key: 0, class: "wl-reaction-loading" })) : (qr(), Qr("div", { key: 1, class: "wl-reaction-votes", textContent: q(i.value[o] || 0) }, null, 8, To))]), rl("div", { class: "wl-reaction-text", textContent: q(s) }, null, 8, Uo)], 10, Io)))), 128))])])) : ol("v-if", !0) } }), Mo = (e, t) => { const n = e.__vccOpts || e; for (const [e, r] of t) n[e] = r; return n }, Fo = Mo(Po, [["__file", "ArticleReaction.vue"]]), No = new Map; function Vo(e) { var t = No.get(e); t && t.destroy() } function Do(e) { var t = No.get(e); t && t.update() } var Ho = null; "undefined" == typeof window ? ((Ho = function (e) { return e }).destroy = function (e) { return e }, Ho.update = function (e) { return e }) : ((Ho = function (e, t) { return e && Array.prototype.forEach.call(e.length ? e : [e], (function (e) { return function (e) { if (e && e.nodeName && "TEXTAREA" === e.nodeName && !No.has(e)) { var t, n = null, r = window.getComputedStyle(e), l = (t = e.value, function () { s({ testForHeightReduction: "" === t || !e.value.startsWith(t), restoreTextAlign: null }), t = e.value }), i = function (t) { e.removeEventListener("autosize:destroy", i), e.removeEventListener("autosize:update", o), e.removeEventListener("input", l), window.removeEventListener("resize", o), Object.keys(t).forEach((function (n) { return e.style[n] = t[n] })), No.delete(e) }.bind(e, { height: e.style.height, resize: e.style.resize, textAlign: e.style.textAlign, overflowY: e.style.overflowY, overflowX: e.style.overflowX, wordWrap: e.style.wordWrap }); e.addEventListener("autosize:destroy", i), e.addEventListener("autosize:update", o), e.addEventListener("input", l), window.addEventListener("resize", o), e.style.overflowX = "hidden", e.style.wordWrap = "break-word", No.set(e, { destroy: i, update: o }), o() } function s(t) { var l, i, o = t.restoreTextAlign, a = void 0 === o ? null : o, c = t.testForHeightReduction, u = void 0 === c || c, p = r.overflowY; if (0 !== e.scrollHeight && ("vertical" === r.resize ? e.style.resize = "none" : "both" === r.resize && (e.style.resize = "horizontal"), u && (l = function (e) { for (var t = []; e && e.parentNode && e.parentNode instanceof Element;)e.parentNode.scrollTop && t.push([e.parentNode, e.parentNode.scrollTop]), e = e.parentNode; return function () { return t.forEach((function (e) { var t = e[0], n = e[1]; t.style.scrollBehavior = "auto", t.scrollTop = n, t.style.scrollBehavior = null })) } }(e), e.style.height = ""), i = "content-box" === r.boxSizing ? e.scrollHeight - (parseFloat(r.paddingTop) + parseFloat(r.paddingBottom)) : e.scrollHeight + parseFloat(r.borderTopWidth) + parseFloat(r.borderBottomWidth), "none" !== r.maxHeight && i > parseFloat(r.maxHeight) ? ("hidden" === r.overflowY && (e.style.overflow = "scroll"), i = parseFloat(r.maxHeight)) : "hidden" !== r.overflowY && (e.style.overflow = "hidden"), e.style.height = i + "px", a && (e.style.textAlign = a), l && l(), n !== i && (e.dispatchEvent(new Event("autosize:resized", { bubbles: !0 })), n = i), p !== r.overflow && !a)) { var d = r.textAlign; "hidden" === r.overflow && (e.style.textAlign = "start" === d ? "end" : "start"), s({ restoreTextAlign: d, testForHeightReduction: !0 }) } } function o() { s({ testForHeightReduction: !0, restoreTextAlign: null }) } }(e) })), e }).destroy = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], Vo), e }, Ho.update = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], Do), e }); var Bo = Ho; const Wo = ["data-index"], qo = ["src", "title", "onClick"]; var Zo = Zn({ __name: "ImageWall", props: { items: { default: () => [] }, columnWidth: { default: 300 }, gap: { default: 0 } }, emits: ["insert"], setup(e, { expose: t }) { const n = e; t(); let r = null; const l = tn(null), i = tn({}), s = tn([]), o = () => { const e = Math.floor((l.value.getBoundingClientRect().width + n.gap) / (n.columnWidth + n.gap)); return e > 0 ? e : 1 }, a = async e => { if (e >= n.items.length) return; await _n(); const t = Array.from(l.value?.children || []).reduce(((e, t) => t.getBoundingClientRect().height < e.getBoundingClientRect().height ? t : e)); s.value[Number(t.dataset.index)].push(e), await a(e + 1) }, c = async (e = !1) => { if (s.value.length === o() && !e) return; var t; s.value = (t = o(), new Array(t).fill(null).map((() => []))); const n = window.scrollY; await a(0), window.scrollTo({ top: n }) }, u = e => { i.value[e.target.src] = !0 }; return Jn((() => { c(!0), r = new ResizeObserver((() => { c() })), r.observe(l.value), Bn((() => [n.items]), (() => { i.value = {}, c(!0) })), Bn((() => [n.columnWidth, n.gap]), (() => { c() })) })), Xn((() => r.unobserve(l.value))), (t, n) => (qr(), Qr("div", { ref_key: "wall", ref: l, class: "wl-gallery", style: U({ gap: `${e.gap}px` }) }, [(qr(!0), Qr(Nr, null, sr(s.value, ((n, r) => (qr(), Qr("div", { key: r, class: "wl-gallery-column", "data-index": r, style: U({ gap: `${e.gap}px` }) }, [(qr(!0), Qr(Nr, null, sr(n, (n => (qr(), Qr(Nr, { key: n }, [i.value[e.items[n].src] ? ol("v-if", !0) : (qr(), Jr(sn(co), { key: 0, size: 36, style: { margin: "20px auto" } })), rl("img", { class: "wl-gallery-item", src: e.items[n].src, title: e.items[n].title, loading: "lazy", onLoad: u, onClick: r => t.$emit("insert", `![](${e.items[n].src})`) }, null, 40, qo)], 64)))), 128))], 12, Wo)))), 128))], 4)) } }), Ko = Mo(Zo, [["__file", "ImageWall.vue"]]); const Go = { class: "wl-comment" }, Qo = { key: 0, class: "wl-login-info" }, Jo = { class: "wl-avatar" }, Xo = ["title"], Yo = ["title"], ea = ["src"], ta = ["title", "textContent"], na = { class: "wl-panel" }, ra = ["for", "textContent"], la = ["id", "onUpdate:modelValue", "name", "type"], ia = ["placeholder"], sa = { class: "wl-preview" }, oa = rl("hr", null, null, -1), aa = ["innerHTML"], ca = { class: "wl-footer" }, ua = { class: "wl-actions" }, pa = { href: "https://guides.github.com/features/mastering-markdown/", title: "Markdown Guide", "aria-label": "Markdown is supported", class: "wl-action", target: "_blank", rel: "noopener noreferrer" }, da = ["title"], ha = ["title"], fa = ["title"], ga = ["title"], ma = { class: "wl-info" }, va = rl("div", { class: "wl-captcha-container" }, null, -1), ya = { class: "wl-text-number" }, wa = { key: 0 }, ba = ["textContent"], ka = ["textContent"], xa = ["disabled"], _a = ["placeholder"], $a = { key: 1, class: "wl-loading" }, Ca = { key: 0, class: "wl-tab-wrapper" }, Sa = ["title", "onClick"], Ra = ["src", "alt"], Aa = { key: 0, class: "wl-tabs" }, Ea = ["onClick"], La = ["src", "alt", "title"], za = ["title"]; var Ia = Zn({ __name: "CommentBox", props: { edit: { default: null }, rootId: { default: "" }, replyId: { default: "" }, replyUser: { default: "" } }, emits: ["log", "cancelEdit", "cancelReply", "submit"], setup(e, { expose: t, emit: n }) { const r = e; t(); const l = Vn("config"), i = Zi("WALINE_COMMENT_BOX_EDITOR", ""), s = Zi("WALINE_USER_META", { nick: "", mail: "", link: "" }), o = Ao(), a = tn({}), c = tn(null), u = tn(null), p = tn(null), d = tn(null), h = tn(null), f = tn(null), g = tn(null), m = tn({ tabs: [], map: {} }), v = tn(0), y = tn(!1), w = tn(!1), b = tn(!1), k = tn(""), x = tn(0), _ = Vt({ loading: !0, list: [] }), $ = tn(0), S = tn(!1), A = tn(""), E = tn(!1), L = tn(!1), z = $l((() => l.value.locale)), I = $l((() => Boolean(o.value?.token))), j = $l((() => !1 !== l.value.imageUploader)), O = e => { const t = c.value, n = t.selectionStart, r = t.selectionEnd || 0, l = t.scrollTop; i.value = t.value.substring(0, n) + e + t.value.substring(r, t.value.length), t.focus(), t.selectionStart = n + e.length, t.selectionEnd = n + e.length, t.scrollTop = l }, T = e => { const t = e.key; (e.ctrlKey || e.metaKey) && "Enter" === t && N() }, U = e => { const t = `![${l.value.locale.uploading} ${e.name}]()`; return O(t), Promise.resolve().then((() => l.value.imageUploader(e))).then((n => { i.value = i.value.replace(t, `\r\n![${e.name}](${n})`) })).catch((e => { alert(e.message), i.value = i.value.replace(t, "") })) }, P = e => { if (e.dataTransfer?.items) { const t = os(e.dataTransfer.items); t && j.value && (U(t), e.preventDefault()) } }, M = e => { if (e.clipboardData) { const t = os(e.clipboardData.items); t && j.value && U(t) } }, F = () => { const e = u.value; e.files && j.value && U(e.files[0]).then((() => { e.value = "" })) }, N = async () => { const { serverURL: e, lang: t, login: u, wordLimit: p, requiredMeta: d, recaptchaV3Key: h, turnstileKey: f } = l.value, g = await (async () => { if (!navigator) return ""; const { userAgentData: e } = navigator; let t = navigator.userAgent; if (!e || "Windows" !== e.platform) return t; const { platformVersion: n } = await e.getHighEntropyValues(["platformVersion"]); return n ? (parseInt(n.split(".")[0]) >= 13 && (t = t.replace("Windows NT 10.0", "Windows NT 11.0")), t) : t })(), v = { comment: A.value, nick: s.value.nick, mail: s.value.mail, link: s.value.link, url: l.value.path, ua: g }; if (o.value?.token) v.nick = o.value.display_name, v.mail = o.value.email, v.link = o.value.url; else { if ("force" === u) return; if (d.indexOf("nick") > -1 && !v.nick) return a.value.nick?.focus(), alert(z.value.nickError); if (d.indexOf("mail") > -1 && !v.mail || v.mail && !/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(v.mail)) return a.value.mail?.focus(), alert(z.value.mailError); v.nick || (v.nick = z.value.anonymous) } if (v.comment) { if (!S.value) return alert(z.value.wordHint.replace("$0", p[0].toString()).replace("$1", p[1].toString()).replace("$2", x.value.toString())); v.comment = Gs(v.comment, m.value.map), r.replyId && r.rootId && (v.pid = r.replyId, v.rid = r.rootId, v.at = r.replyUser), E.value = !0; try { h && (v.recaptchaV3 = await (e => { const t = So[e] ?? (So[e] = vo.load(e, { useRecaptchaNet: !0, autoHideBadge: !0 })); return { execute: e => t.then((t => t.execute(e))) } })(h).execute("social")), f && (v.turnstile = await (y = f, { execute: e => new Promise((t => { es("https://challenges.cloudflare.com/turnstile/v0/api.js", (() => { const n = window?.turnstile, r = { sitekey: y, action: e, size: "compact", callback(e) { t(e) } }; n?.ready((() => n?.render(".wl-captcha-container", r))) })) })) }).execute("social")); const l = { serverURL: e, lang: t, token: o.value?.token, comment: v }, s = await (r.edit ? C({ objectId: r.edit.objectId, ...l }) : (({ serverURL: e, lang: t, token: n, comment: r }) => { const l = { "Content-Type": "application/json" }; return n && (l.Authorization = `Bearer ${n}`), fetch(`${e}/comment?lang=${t}`, { method: "POST", headers: l, body: JSON.stringify(r) }).then((e => e.json())) })(l)); if (E.value = !1, s.errmsg) return alert(s.errmsg); n("submit", s.data), i.value = "", k.value = "", r.replyId && n("cancelReply"), r.edit?.objectId && n("cancelEdit") } catch (e) { E.value = !1, alert(e.message) } var y } else c.value?.focus() }, D = e => { e.preventDefault(); const { lang: t, serverURL: r } = l.value; (({ lang: e, serverURL: t }) => { const n = (window.innerWidth - 450) / 2, r = (window.innerHeight - 450) / 2, l = window.open(`${t}/ui/login?lng=${encodeURIComponent(e)}`, "_blank", `width=450,height=450,left=${n},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`); return l?.postMessage({ type: "TOKEN", data: null }, "*"), new Promise((e => { const t = ({ data: n }) => { n && "object" == typeof n && "userInfo" === n.type && n.data.token && (l?.close(), window.removeEventListener("message", t), e(n.data)) }; window.addEventListener("message", t) })) })({ serverURL: r, lang: t }).then((e => { o.value = e, (e.remember ? localStorage : sessionStorage).setItem("WALINE_USER", JSON.stringify(e)), n("log") })) }, H = () => { o.value = {}, localStorage.setItem("WALINE_USER", "null"), sessionStorage.setItem("WALINE_USER", "null"), n("log") }, B = e => { e.preventDefault(); const { lang: t, serverURL: n } = l.value, r = (window.innerWidth - 800) / 2, i = (window.innerHeight - 800) / 2, s = new URLSearchParams({ lng: t, token: o.value.token }), a = window.open(`${n}/ui/profile?${s.toString()}`, "_blank", `width=800,height=800,left=${r},top=${i},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`); a?.postMessage({ type: "TOKEN", data: o.value.token }, "*") }, W = e => { p.value?.contains(e.target) || d.value?.contains(e.target) || (y.value = !1), h.value?.contains(e.target) || f.value?.contains(e.target) || (w.value = !1) }, Z = async e => { const { scrollTop: t, clientHeight: n, scrollHeight: r } = e.target, i = (n + t) / r, s = l.value.search, o = g.value?.value || ""; if (i < .9 || _.loading || L.value) return; _.loading = !0; (s.more && _.list.length ? await s.more(o, _.list.length) : await s.search(o)).length ? _.list = [..._.list, ...s.more && _.list.length ? await s.more(o, _.list.length) : await s.search(o)] : L.value = !0, _.loading = !1, setTimeout((() => { e.target.scrollTop = t }), 50) }, K = fi((e => { _.list = [], L.value = !1, Z(e) }), 300); Bn([l, x], (([e, t]) => { const { wordLimit: n } = e; n ? t < n[0] && 0 !== n[0] ? ($.value = n[0], S.value = !1) : t > n[1] ? ($.value = n[1], S.value = !1) : ($.value = n[1], S.value = !0) : ($.value = 0, S.value = !0) }), { immediate: !0 }); const G = ({ data: e }) => { e && "profile" === e.type && (o.value = { ...o.value, ...e.data }, [localStorage, sessionStorage].filter((e => e.getItem("WALINE_USER"))).forEach((e => e.setItem("WALINE_USER", JSON.stringify(o))))) }; return Jn((() => { document.body.addEventListener("click", W), window.addEventListener("message", G), r.edit?.objectId && (i.value = r.edit.orig), Bn(w, (async e => { if (!e) return; const t = l.value.search; g.value && (g.value.value = ""), _.loading = !0, _.list = t.default ? await t.default() : await t.search(""), _.loading = !1 })), Bn((() => i.value), (e => { const { highlighter: t, texRenderer: n } = l.value; A.value = e, k.value = Qs(e, { emojiMap: m.value.map, highlighter: t, texRenderer: n }), x.value = (e => ((e => e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(e)?.reduce(((e, t) => e + ("" === t.trim() ? 0 : t.trim().split(/\s+/u).length)), 0) || 0) + ((e => e.match(/[\u4E00-\u9FD5]/gu))(e)?.length || 0))(e), e ? Bo(c.value) : Bo.destroy(c.value) }), { immediate: !0 }), Bn((() => l.value.emoji), (e => { return (t = e, Promise.all(t.map((e => "string" == typeof e ? ns(R(e)) : Promise.resolve(e)))).then((e => { const t = { tabs: [], map: {} }; return e.forEach((e => { const { name: n, folder: r, icon: l, prefix: i, type: s, items: o } = e; t.tabs.push({ name: n, icon: rs(l, r, i, s), items: o.map((e => { const n = `${i || ""}${e}`; return t.map[n] = rs(e, r, i, s), n })) }) })), t }))).then((e => { m.value = e })); var t }), { immediate: !0 }) })), Yn((() => { document.body.removeEventListener("click", W), window.removeEventListener("message", G) })), (t, n) => (qr(), Qr("div", Go, ["disable" !== sn(l).login && sn(I) && !e.edit?.objectId ? (qr(), Qr("div", Qo, [rl("div", Jo, [rl("button", { type: "submit", class: "wl-logout-btn", title: sn(z).logout, onClick: H }, [ll(sn(Ys), { size: 14 })], 8, Xo), rl("a", { href: "#", class: "wl-login-nick", "aria-label": "Profile", title: sn(z).profile, onClick: B }, [rl("img", { src: sn(o).avatar, alt: "avatar" }, null, 8, ea)], 8, Yo)]), rl("a", { href: "#", class: "wl-login-nick", "aria-label": "Profile", title: sn(z).profile, onClick: B, textContent: q(sn(o).display_name) }, null, 8, ta)])) : ol("v-if", !0), rl("div", na, ["force" !== sn(l).login && sn(l).meta.length && !sn(I) ? (qr(), Qr("div", { key: 0, class: V(["wl-header", `item${sn(l).meta.length}`]) }, [(qr(!0), Qr(Nr, null, sr(sn(l).meta, (e => (qr(), Qr("div", { key: e, class: "wl-header-item" }, [rl("label", { for: `wl-${e}`, textContent: q(sn(z)[e] + (sn(l).requiredMeta.includes(e) || !sn(l).requiredMeta.length ? "" : `(${sn(z).optional})`)) }, null, 8, ra), er(rl("input", { id: `wl-${e}`, ref_for: !0, ref: t => { t && (a.value[e] = t) }, "onUpdate:modelValue": t => sn(s)[e] = t, class: V(["wl-input", `wl-${e}`]), name: e, type: "mail" === e ? "email" : "text" }, null, 10, la), [[ti, sn(s)[e]]])])))), 128))], 2)) : ol("v-if", !0), er(rl("textarea", { id: "wl-edit", ref_key: "editorRef", ref: c, "onUpdate:modelValue": n[0] || (n[0] = e => en(i) ? i.value = e : null), class: "wl-editor", placeholder: e.replyUser ? `@${e.replyUser}` : sn(z).placeholder, onKeydown: T, onDrop: P, onPaste: M }, null, 40, ia), [[Zl, sn(i)]]), er(rl("div", sa, [oa, rl("h4", null, q(sn(z).preview) + ":", 1), rl("div", { class: "wl-content", innerHTML: k.value }, null, 8, aa)], 512), [[ri, b.value]]), rl("div", ca, [rl("div", ua, [rl("a", pa, [ll(sn(io))]), er(rl("button", { ref_key: "emojiButtonRef", ref: p, type: "button", class: V(["wl-action", { active: y.value }]), title: sn(z).emoji, onClick: n[1] || (n[1] = e => y.value = !y.value) }, [ll(sn(to))], 10, da), [[ri, m.value.tabs.length]]), sn(l).search ? (qr(), Qr("button", { key: 0, ref_key: "gifButtonRef", ref: h, type: "button", class: V(["wl-action", { active: w.value }]), title: sn(z).gif, onClick: n[2] || (n[2] = e => w.value = !w.value) }, [ll(sn(uo))], 10, ha)) : ol("v-if", !0), rl("input", { id: "wl-image-upload", ref_key: "imageUploadRef", ref: u, class: "upload", type: "file", accept: ".png,.jpg,.jpeg,.webp,.bmp,.gif", onChange: F }, null, 544), sn(j) ? (qr(), Qr("label", { key: 1, for: "wl-image-upload", class: "wl-action", title: sn(z).uploadImage }, [ll(sn(no))], 8, fa)) : ol("v-if", !0), rl("button", { type: "button", class: V(["wl-action", { active: b.value }]), title: sn(z).preview, onClick: n[3] || (n[3] = e => b.value = !b.value) }, [ll(sn(lo))], 10, ga)]), rl("div", ma, [va, rl("div", ya, [sl(q(x.value) + " ", 1), sn(l).wordLimit ? (qr(), Qr("span", wa, [sl(" / "), rl("span", { class: V({ illegal: !S.value }), textContent: q($.value) }, null, 10, ba)])) : ol("v-if", !0), sl(" " + q(sn(z).word), 1)]), "disable" === sn(l).login || sn(I) ? ol("v-if", !0) : (qr(), Qr("button", { key: 0, type: "button", class: "wl-btn", onClick: D, textContent: q(sn(z).login) }, null, 8, ka)), "force" !== sn(l).login || sn(I) ? (qr(), Qr("button", { key: 1, type: "submit", class: "primary wl-btn", title: "Cmd|Ctrl + Enter", disabled: E.value, onClick: N }, [E.value ? (qr(), Jr(sn(co), { key: 0, size: 16 })) : (qr(), Qr(Nr, { key: 1 }, [sl(q(sn(z).submit), 1)], 64))], 8, xa)) : ol("v-if", !0)]), rl("div", { ref_key: "gifPopupRef", ref: f, class: V(["wl-gif-popup", { display: w.value }]) }, [rl("input", { ref_key: "gifSearchInputRef", ref: g, type: "text", placeholder: sn(z).gifSearchPlaceholder, onInput: n[4] || (n[4] = (...e) => sn(K) && sn(K)(...e)) }, null, 40, _a), _.list.length ? (qr(), Jr(Ko, { key: 0, items: _.list, "column-width": 200, gap: 6, onInsert: n[5] || (n[5] = e => O(e)), onScroll: Z }, null, 8, ["items"])) : ol("v-if", !0), _.loading ? (qr(), Qr("div", $a, [ll(sn(co), { size: 30 })])) : ol("v-if", !0)], 2), rl("div", { ref_key: "emojiPopupRef", ref: d, class: V(["wl-emoji-popup", { display: y.value }]) }, [(qr(!0), Qr(Nr, null, sr(m.value.tabs, ((e, t) => (qr(), Qr(Nr, { key: e.name }, [t === v.value ? (qr(), Qr("div", Ca, [(qr(!0), Qr(Nr, null, sr(e.items, (e => (qr(), Qr("button", { key: e, type: "button", title: e, onClick: t => O(`:${e}:`) }, [y.value ? (qr(), Qr("img", { key: 0, class: "wl-emoji", src: m.value.map[e], alt: e, loading: "lazy", referrerPolicy: "no-referrer" }, null, 8, Ra)) : ol("v-if", !0)], 8, Sa)))), 128))])) : ol("v-if", !0)], 64)))), 128)), m.value.tabs.length > 1 ? (qr(), Qr("div", Aa, [(qr(!0), Qr(Nr, null, sr(m.value.tabs, ((e, t) => (qr(), Qr("button", { key: e.name, type: "button", class: V(["wl-tab", { active: v.value === t }]), onClick: e => v.value = t }, [rl("img", { class: "wl-emoji", src: e.icon, alt: e.name, title: e.name, loading: "lazy", referrerPolicy: "no-referrer" }, null, 8, La)], 10, Ea)))), 128))])) : ol("v-if", !0)], 2)])]), e.replyId || e.edit?.objectId ? (qr(), Qr("button", { key: 1, type: "button", class: "wl-close", title: sn(z).cancelReply, onClick: n[6] || (n[6] = n => t.$emit(e.replyId ? "cancelReply" : "cancelEdit")) }, [ll(sn(Ys), { size: 24 })], 8, za)) : ol("v-if", !0)])) } }), ja = Mo(Ia, [["__file", "CommentBox.vue"]]); const Oa = ["id"], Ta = { class: "wl-user", "aria-hidden": "true" }, Ua = ["src"], Pa = { class: "wl-card" }, Ma = { class: "wl-head" }, Fa = ["href"], Na = { key: 1, class: "wl-nick" }, Va = ["textContent"], Da = ["textContent"], Ha = ["textContent"], Ba = ["textContent"], Wa = ["textContent"], qa = { class: "wl-comment-actions" }, Za = ["title"], Ka = ["textContent"], Ga = ["title"], Qa = { class: "wl-meta", "aria-hidden": "true" }, Ja = ["data-value", "textContent"], Xa = ["data-value", "textContent"], Ya = ["data-value", "textContent"], ec = ["innerHTML"], tc = { key: 1, class: "wl-admin-actions" }, nc = { class: "wl-comment-status" }, rc = ["disabled", "onClick", "textContent"], lc = { key: 3, class: "wl-quote" }; var ic = Mo(Zn({ __name: "CommentCard", props: { comment: null, edit: { default: null }, rootId: null, reply: { default: null } }, emits: ["log", "submit", "delete", "edit", "like", "status", "sticky", "reply"], setup(e) { const t = e, n = ["approved", "waiting", "spam"], r = Vn("config"), l = ho(), i = Yi(), s = Ao(), o = $l((() => r.value.locale)), a = $l((() => { const { link: e } = t.comment; return e ? A(e) ? e : `https://${e}` : "" })), c = $l((() => l.value.includes(t.comment.objectId))), u = $l((() => O(t.comment.insertedAt, i.value, o.value))), p = $l((() => "administrator" === s.value.type)), d = $l((() => t.comment.user_id && s.value.objectId === t.comment.user_id)), h = $l((() => t.comment.objectId === t.reply?.objectId)), f = $l((() => t.comment.objectId === t.edit?.objectId)); return (t, r) => { const l = rr("CommentCard", !0); return qr(), Qr("div", { id: e.comment.objectId, class: "wl-card-item" }, [rl("div", Ta, [e.comment.avatar ? (qr(), Qr("img", { key: 0, src: e.comment.avatar }, null, 8, Ua)) : ol("v-if", !0), e.comment.type ? (qr(), Jr(sn(ao), { key: 1 })) : ol("v-if", !0)]), rl("div", Pa, [rl("div", Ma, [sn(a) ? (qr(), Qr("a", { key: 0, class: "wl-nick", href: sn(a), target: "_blank", rel: "nofollow noopener noreferrer" }, q(e.comment.nick), 9, Fa)) : (qr(), Qr("span", Na, q(e.comment.nick), 1)), "administrator" === e.comment.type ? (qr(), Qr("span", { key: 2, class: "wl-badge", textContent: q(sn(o).admin) }, null, 8, Va)) : ol("v-if", !0), e.comment.label ? (qr(), Qr("span", { key: 3, class: "wl-badge", textContent: q(e.comment.label) }, null, 8, Da)) : ol("v-if", !0), e.comment.sticky ? (qr(), Qr("span", { key: 4, class: "wl-badge", textContent: q(sn(o).sticky) }, null, 8, Ha)) : ol("v-if", !0), void 0 !== e.comment.level && e.comment.level >= 0 ? (qr(), Qr("span", { key: 5, class: V(`wl-badge level${e.comment.level}`), textContent: q(sn(o)[`level${e.comment.level}`] || `Level ${e.comment.level}`) }, null, 10, Ba)) : ol("v-if", !0), rl("span", { class: "wl-time", textContent: q(sn(u)) }, null, 8, Wa), rl("div", qa, [sn(p) || sn(d) ? (qr(), Qr("button", { key: 0, type: "button", class: "wl-edit", onClick: r[0] || (r[0] = () => t.$emit("edit", e.comment)) }, [ll(sn(oo))])) : ol("v-if", !0), sn(p) || sn(d) ? (qr(), Qr("button", { key: 1, type: "button", class: "wl-delete", onClick: r[1] || (r[1] = n => t.$emit("delete", e.comment)) }, [ll(sn(eo))])) : ol("v-if", !0), rl("button", { type: "button", class: "wl-like", title: sn(c) ? sn(o).cancelLike : sn(o).like, onClick: r[2] || (r[2] = n => t.$emit("like", e.comment)) }, [ll(sn(ro), { active: sn(c) }, null, 8, ["active"]), "like" in e.comment ? (qr(), Qr("span", { key: 0, textContent: q(e.comment.like) }, null, 8, Ka)) : ol("v-if", !0)], 8, Za), rl("button", { type: "button", class: V(["wl-reply", { active: sn(h) }]), title: sn(h) ? sn(o).cancelReply : sn(o).reply, onClick: r[3] || (r[3] = n => t.$emit("reply", sn(h) ? null : e.comment)) }, [ll(sn(so))], 10, Ga)])]), rl("div", Qa, [e.comment.addr ? (qr(), Qr("span", { key: 0, class: "wl-addr", "data-value": e.comment.addr, textContent: q(e.comment.addr) }, null, 8, Ja)) : ol("v-if", !0), e.comment.browser ? (qr(), Qr("span", { key: 1, class: "wl-browser", "data-value": e.comment.browser, textContent: q(e.comment.browser) }, null, 8, Xa)) : ol("v-if", !0), e.comment.os ? (qr(), Qr("span", { key: 2, class: "wl-os", "data-value": e.comment.os, textContent: q(e.comment.os) }, null, 8, Ya)) : ol("v-if", !0)]), sn(f) ? ol("v-if", !0) : (qr(), Qr("div", { key: 0, class: "wl-content", innerHTML: e.comment.comment }, null, 8, ec)), sn(p) && !sn(f) ? (qr(), Qr("div", tc, [rl("span", nc, [(qr(), Qr(Nr, null, sr(n, (n => rl("button", { key: n, type: "submit", class: V(`wl-btn wl-${n}`), disabled: e.comment.status === n, onClick: r => t.$emit("status", { status: n, comment: e.comment }), textContent: q(sn(o)[n]) }, null, 10, rc))), 64))]), sn(p) && !e.comment.rid ? (qr(), Qr("button", { key: 0, type: "submit", class: "wl-btn wl-sticky", onClick: r[4] || (r[4] = n => t.$emit("sticky", e.comment)) }, q(e.comment.sticky ? sn(o).unsticky : sn(o).sticky), 1)) : ol("v-if", !0)])) : ol("v-if", !0), sn(h) || sn(f) ? (qr(), Qr("div", { key: 2, class: V({ "wl-reply-wrapper": sn(h), "wl-edit-wrapper": sn(f) }) }, [ll(ja, { edit: e.edit, "reply-id": e.reply?.objectId, "reply-user": e.comment.nick, "root-id": e.rootId, onLog: r[5] || (r[5] = e => t.$emit("log")), onCancelReply: r[6] || (r[6] = e => t.$emit("reply", null)), onCancelEdit: r[7] || (r[7] = e => t.$emit("edit", null)), onSubmit: r[8] || (r[8] = e => t.$emit("submit", e)) }, null, 8, ["edit", "reply-id", "reply-user", "root-id"])], 2)) : ol("v-if", !0), e.comment.children ? (qr(), Qr("div", lc, [(qr(!0), Qr(Nr, null, sr(e.comment.children, (n => (qr(), Jr(l, { key: n.objectId, comment: n, reply: e.reply, edit: e.edit, "root-id": e.rootId, onLog: r[9] || (r[9] = e => t.$emit("log")), onDelete: r[10] || (r[10] = e => t.$emit("delete", e)), onEdit: r[11] || (r[11] = e => t.$emit("edit", e)), onLike: r[12] || (r[12] = e => t.$emit("like", e)), onReply: r[13] || (r[13] = e => t.$emit("reply", e)), onStatus: r[14] || (r[14] = e => t.$emit("status", e)), onSticky: r[15] || (r[15] = e => t.$emit("sticky", e)), onSubmit: r[16] || (r[16] = e => t.$emit("submit", e)) }, null, 8, ["comment", "reply", "edit", "root-id"])))), 128))])) : ol("v-if", !0)])], 8, Oa) } } }), [["__file", "CommentCard.vue"]]); const sc = "2.15.2", oc = { "data-waline": "" }, ac = { class: "wl-meta-head" }, cc = { class: "wl-count" }, uc = ["textContent"], pc = { class: "wl-sort" }, dc = ["onClick"], hc = { class: "wl-cards" }, fc = { key: 1, class: "wl-operation" }, gc = ["textContent"], mc = { key: 0, class: "wl-loading" }, vc = ["textContent"], yc = { key: 2, class: "wl-operation" }, wc = ["textContent"], bc = { key: 3, class: "wl-power" }, kc = rl("a", { href: "https://github.com/walinejs/waline", target: "_blank", rel: "noopener noreferrer" }, " Waline ", -1); var xc = Zn({ __name: "WalineComment", props: ["serverURL", "path", "meta", "requiredMeta", "dark", "commentSorting", "lang", "locale", "pageSize", "wordLimit", "emoji", "login", "highlighter", "texRenderer", "imageUploader", "search", "copyright", "recaptchaV3Key", "turnstileKey", "reaction"], setup(e) { const a = e, c = { latest: "insertedAt_desc", oldest: "insertedAt_asc", hottest: "like_desc" }, u = Object.keys(c), d = Ao(), h = ho(), f = tn("loading"), g = tn(0), m = tn(1), v = tn(0), y = $l((() => (({ serverURL: e, path: a = location.pathname, lang: c = ("undefined" == typeof navigator ? "en-US" : navigator.language), locale: u, emoji: d = n, meta: h = ["nick", "mail", "link"], requiredMeta: f = [], dark: g = !1, pageSize: m = 10, wordLimit: v, imageUploader: y, highlighter: w, texRenderer: k, copyright: x = !0, login: _ = "enable", search: $, reaction: C, recaptchaV3Key: R = "", turnstileKey: A = "", commentSorting: I = "latest", ...j }) => ({ serverURL: E(e), path: S(a), locale: { ...b[c] || b[r], ..."object" == typeof u ? u : {} }, wordLimit: L(v), meta: t(h), requiredMeta: t(f), imageUploader: z(y, i), highlighter: z(w, p), texRenderer: z(k, s), lang: Object.keys(b).includes(c) ? c : "en-US", dark: g, emoji: "boolean" == typeof d ? d ? n : [] : d, pageSize: m, login: _, copyright: x, search: !1 !== $ && ("object" == typeof $ ? $ : o(c)), recaptchaV3Key: R, turnstileKey: A, reaction: Array.isArray(C) ? C : !0 === C ? l : [], commentSorting: I, ...j }))(a))), w = tn(y.value.commentSorting), k = tn([]), _ = tn(null), $ = tn(null), R = $l((() => { return "string" == typeof (e = y.value.dark) ? "auto" === e ? `@media(prefers-color-scheme:dark){body${I}}` : `${e}${I}` : !0 === e ? `:root${I}` : ""; var e })), A = $l((() => y.value.locale)); let j; !function (e, t = {}) { const n = tn(!1), { document: r = ji, immediate: l = !0, manual: i = !1, id: s = "vueuse_styletag_" + ++ts } = t, o = tn(e); let a = () => { }; const c = () => { if (!r) return; const e = r.getElementById(s) || r.createElement("style"); e.isConnected || (e.type = "text/css", e.id = s, t.media && (e.media = t.media), r.head.appendChild(e)), n.value || (a = Bn(o, (t => { e.textContent = t }), { immediate: !0 }), n.value = !0) }, u = () => { r && n.value && (a(), r.head.removeChild(r.getElementById(s)), n.value = !1) }; l && !i && gi(c), i || ai(u), Dt(n) }(R, { id: "waline-darkmode" }); const O = e => { const { serverURL: t, path: n, pageSize: r } = y.value, l = new AbortController; f.value = "loading", j?.(), (({ serverURL: e, lang: t, path: n, page: r, pageSize: l, sortBy: i, signal: s, token: o }) => { const a = {}; return o && (a.Authorization = `Bearer ${o}`), fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${l}&page=${r}&lang=${t}&sortBy=${i}`, { signal: s, headers: a }).then((e => e.json())).then((e => x(e, "Get comment data"))) })({ serverURL: t, lang: y.value.lang, path: n, pageSize: r, sortBy: c[w.value], page: e, signal: l.signal, token: d.value?.token }).then((t => { f.value = "success", g.value = t.count, k.value.push(...t.data), m.value = e, v.value = t.totalPages })).catch((e => { "AbortError" !== e.name && (console.error(e.message), f.value = "error") })), j = l.abort.bind(l) }, T = () => O(m.value + 1), U = () => { g.value = 0, k.value = [], O(1) }, P = e => { _.value = e }, M = e => { $.value = e }, F = e => { if ($.value) $.value.comment = e.comment, $.value.orig = e.orig; else if (e.rid) { const t = k.value.find((({ objectId: t }) => t === e.rid)); if (!t) return; Array.isArray(t.children) || (t.children = []), t.children.push(e) } else k.value.unshift(e) }, N = async ({ comment: e, status: t }) => { if (e.status === t) return; const { serverURL: n, lang: r } = y.value; await C({ serverURL: n, lang: r, token: d.value?.token, objectId: e.objectId, comment: { status: t } }), e.status = t }, D = async e => { if (e.rid) return; const { serverURL: t, lang: n } = y.value; await C({ serverURL: t, lang: n, token: d.value?.token, objectId: e.objectId, comment: { sticky: e.sticky ? 0 : 1 } }), e.sticky = !e.sticky }, H = async ({ objectId: e }) => { if (!confirm("Are you sure you want to delete this comment?")) return; const { serverURL: t, lang: n } = y.value; await (({ serverURL: e, lang: t, token: n, objectId: r }) => fetch(`${e}/comment/${r}?lang=${t}`, { method: "DELETE", headers: { Authorization: `Bearer ${n}` } }).then((e => e.json())).then((e => x(e, "Delete comment"))))({ serverURL: t, lang: n, token: d.value?.token, objectId: e }), k.value.some(((t, n) => t.objectId === e ? (k.value = k.value.filter(((e, t) => t !== n)), !0) : t.children.some(((r, l) => r.objectId === e && (k.value[n].children = t.children.filter(((e, t) => t !== l)), !0))))) }, B = async e => { const { serverURL: t, lang: n } = y.value, { objectId: r } = e, l = h.value.includes(r); await C({ serverURL: t, lang: n, objectId: r, token: d.value?.token, comment: { like: !l } }), l ? h.value = h.value.filter((e => e !== r)) : (h.value = [...h.value, r], h.value.length > 50 && (h.value = h.value.slice(-50))), e.like = (e.like || 0) + (l ? -1 : 1) }; return function (e, t) { if (fl) { let n = fl.provides; const r = fl.parent && fl.parent.provides; r === n && (n = fl.provides = Object.create(r)), n[e] = t } }("config", y), Jn((() => { Bn((() => [a.serverURL, a.path]), (() => U()), { immediate: !0 }) })), Yn((() => j?.())), (e, t) => (qr(), Qr("div", oc, [ll(Fo), _.value ? ol("v-if", !0) : (qr(), Jr(ja, { key: 0, onLog: U, onSubmit: F })), rl("div", ac, [rl("div", cc, [g.value ? (qr(), Qr("span", { key: 0, class: "wl-num", textContent: q(g.value) }, null, 8, uc)) : ol("v-if", !0), sl(" " + q(sn(A).comment), 1)]), rl("ul", pc, [(qr(!0), Qr(Nr, null, sr(sn(u), (e => (qr(), Qr("li", { key: e, class: V([e === w.value ? "active" : ""]), onClick: t => (e => { w.value !== e && (w.value = e, U()) })(e) }, q(sn(A)[e]), 11, dc)))), 128))])]), rl("div", hc, [(qr(!0), Qr(Nr, null, sr(k.value, (e => (qr(), Jr(ic, { key: e.objectId, "root-id": e.objectId, comment: e, reply: _.value, edit: $.value, onLog: U, onReply: P, onEdit: M, onSubmit: F, onStatus: N, onDelete: H, onSticky: D, onLike: B }, null, 8, ["root-id", "comment", "reply", "edit"])))), 128))]), "error" === f.value ? (qr(), Qr("div", fc, [rl("button", { type: "button", class: "wl-btn", onClick: U, textContent: q(sn(A).refresh) }, null, 8, gc)])) : (qr(), Qr(Nr, { key: 2 }, ["loading" === f.value ? (qr(), Qr("div", mc, [ll(sn(co), { size: 30 })])) : k.value.length ? m.value < v.value ? (qr(), Qr("div", yc, [rl("button", { type: "button", class: "wl-btn", onClick: T, textContent: q(sn(A).more) }, null, 8, wc)])) : ol("v-if", !0) : (qr(), Qr("div", { key: 1, class: "wl-empty", textContent: q(sn(A).sofa) }, null, 8, vc))], 64)), sn(y).copyright ? (qr(), Qr("div", bc, [sl(" Powered by "), kc, sl(" v" + q(sn(sc)), 1)])) : ol("v-if", !0)])) } }), _c = Mo(xc, [["__file", "WalineComment.vue"]]); const $c = (e, t) => { t.forEach(((t, n) => { t.innerText = e[n].toString() })) }, Cc = ({ serverURL: e, path: t = window.location.pathname, selector: n = ".waline-pageview-count", update: r = !0, lang: l = navigator.language }) => { const i = new AbortController, s = Array.from(document.querySelectorAll(n)), o = e => { const n = Js(e); return null !== n && t !== n }, a = n => (({ serverURL: e, lang: t, paths: n, signal: r }) => _({ serverURL: e, lang: t, paths: n, type: ["time"], signal: r }).then((e => Array.isArray(e) ? e : [e])))({ serverURL: E(e), paths: n.map((e => Js(e) || t)), lang: l, signal: i.signal }).then((e => $c(e, n))).catch(ls); if (r) { const n = s.filter((e => !o(e))), r = s.filter(o); (c = { serverURL: E(e), path: t, lang: l }, $({ ...c, type: "time", action: "inc" })).then((e => $c(new Array(n.length).fill(e), n))), r.length && a(r) } else a(s); var c; return i.abort.bind(i) }, Sc = ({ el: e = "#waline", path: t = window.location.pathname, comment: n = !1, pageview: r = !1, ...l }) => { const i = e ? is(e) : null; if (e && !i) throw new Error("Option 'el' do not match any domElement!"); if (!l.serverURL) throw new Error("Option 'serverURL' is missing!"); const s = Vt({ ...l }), o = Vt({ comment: n, pageview: r, path: t }), a = i ? oi((() => Cl(_c, { path: o.path, ...s }))) : null; a && a.mount(i); const c = Dn((() => { o.comment && Xs({ serverURL: s.serverURL, path: o.path, selector: "string" == typeof o.comment ? o.comment : void 0 }) })), u = Dn((() => { o.pageview && Cc({ serverURL: s.serverURL, path: o.path, selector: "string" == typeof o.pageview ? o.pageview : void 0 }) })); return { el: i, update: ({ comment: e, pageview: t, path: n = window.location.pathname, ...r } = {}) => { Object.entries(r).forEach((([e, t]) => { s[e] = t })), o.path = n, void 0 !== e && (o.comment = e), void 0 !== t && (o.pageview = t) }, destroy: () => { a?.unmount(), c(), u() } } }, Rc = ({ el: e, serverURL: t, count: n, lang: r = navigator.language }) => { const l = Ao(), i = is(e), s = new AbortController; return (({ serverURL: e, lang: t, count: n, signal: r, token: l }) => { const i = {}; return l && (i.Authorization = `Bearer ${l}`), fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`, { signal: r, headers: i }).then((e => e.json())) })({ serverURL: t, count: n, lang: r, signal: s.signal, token: l.value?.token }).then((e => i && e.length ? (i.innerHTML = `
${e.map((e => `${e.nick} :${e.comment} `)).join("")} `, { comments: e, destroy: () => { s.abort(), i.innerHTML = "" } }) : { comments: e, destroy: () => s.abort() })) }, Ac = ({ el: e, serverURL: t, count: n, locale: l, lang: i = navigator.language, mode: s = "list" }) => { const o = is(e), a = new AbortController; return (({ serverURL: e, signal: t, pageSize: n, lang: r }) => fetch(`${e}/user?pageSize=${n}&lang=${r}`, { signal: t }).then((e => e.json())).then((e => x(e, "user list"))).then((e => e.data)))({ serverURL: t, pageSize: n, lang: i, signal: a.signal }).then((e => o && e.length ? (l = { ...b[i] || b[r], ..."object" == typeof l ? l : {} }, o.innerHTML = `
`, { users: e, destroy: () => { a.abort(), o.innerHTML = "" } }) : { users: e, destroy: () => a.abort() })) }; export { Rc as RecentComments, Ac as UserList, Xs as commentCount, b as defaultLocales, Sc as init, Cc as pageviewCount, sc as version };
+//# sourceMappingURL=waline.mjs.map
\ No newline at end of file
diff --git a/list/index.html b/list/index.html
new file mode 100644
index 0000000..319854c
--- /dev/null
+++ b/list/index.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024[6]
+ 🍃
+
+
+
+
+
+
+ 02/29
+
+
+
+
+
+
+ 02/29
+
+
+
+
+
+
+ 02/29
+
+
+
+
+
+
+ 02/22
+
+
+
+
+
+
+ 02/22
+
+
+
+
+
+
+ 02/22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/message/index.html b/message/index.html
new file mode 100644
index 0000000..0a0d499
--- /dev/null
+++ b/message/index.html
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
留言板 🧐有啥想说的,欢迎留言,我会尽可能回复的!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/placeholder b/placeholder
deleted file mode 100644
index e69de29..0000000
diff --git a/support/index.html b/support/index.html
new file mode 100644
index 0000000..6732804
--- /dev/null
+++ b/support/index.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tags/Markdown/index.html b/tags/Markdown/index.html
new file mode 100644
index 0000000..4c2b0c2
--- /dev/null
+++ b/tags/Markdown/index.html
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌Markdown
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tags/hexo/index.html b/tags/hexo/index.html
new file mode 100644
index 0000000..8c40999
--- /dev/null
+++ b/tags/hexo/index.html
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌hexo
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
new file mode 100644
index 0000000..bb54bbc
--- /dev/null
+++ b/tags/index.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
📌tags
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 党纪法规
+ 1
+
+
+
+ 菜谱
+ 1
+
+
+
+ Markdown
+ 1
+
+
+
+ 发疯合集
+ 1
+
+
+
+ 生活
+ 2
+
+
+
+ 随想
+ 1
+
+
+
+ hexo
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html" "b/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html"
new file mode 100644
index 0000000..64877f6
--- /dev/null
+++ "b/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html"
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌党纪法规
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html" "b/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html"
new file mode 100644
index 0000000..147031f
--- /dev/null
+++ "b/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html"
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌发疯合集
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/tags/\347\224\237\346\264\273/index.html" "b/tags/\347\224\237\346\264\273/index.html"
new file mode 100644
index 0000000..2a8190d
--- /dev/null
+++ "b/tags/\347\224\237\346\264\273/index.html"
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌生活
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-22
+
+
+
+
+
+
+ 2024-02-22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/tags/\350\217\234\350\260\261/index.html" "b/tags/\350\217\234\350\260\261/index.html"
new file mode 100644
index 0000000..9a26cb9
--- /dev/null
+++ "b/tags/\350\217\234\350\260\261/index.html"
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌菜谱
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/tags/\351\232\217\346\203\263/index.html" "b/tags/\351\232\217\346\203\263/index.html"
new file mode 100644
index 0000000..a8f3388
--- /dev/null
+++ "b/tags/\351\232\217\346\203\263/index.html"
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+
+
+
Vogel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 📌随想
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-02-22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file