From b909a8fde57b9eb1933db8d749ec61185b6621ff Mon Sep 17 00:00:00 2001 From: "bryan.zhang" Date: Sun, 9 Feb 2020 23:05:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=E8=B5=84?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/coverpage.md | 11 ++++++++++ docs/guide_cn.md | 5 ++++- docs/index.html | 27 ++++++++++++++++++++++++ docs/lib/docsify.min.js | 1 + docs/lib/plugins/search.min.js | 1 + docs/lib/themes/vue.css | 1 + docs/{images => media}/architecture.png | Bin docs/media/logo.png | Bin 0 -> 9094 bytes docs/media/wx.jpeg | Bin 0 -> 40095 bytes 9 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 docs/coverpage.md create mode 100644 docs/index.html create mode 100644 docs/lib/docsify.min.js create mode 100644 docs/lib/plugins/search.min.js create mode 100644 docs/lib/themes/vue.css rename docs/{images => media}/architecture.png (100%) create mode 100644 docs/media/logo.png create mode 100644 docs/media/wx.jpeg diff --git a/docs/coverpage.md b/docs/coverpage.md new file mode 100644 index 000000000..bd3bd7f92 --- /dev/null +++ b/docs/coverpage.md @@ -0,0 +1,11 @@ +![logo](media/logo.png) +> 做最轻量级,最实用的微流程框架. + +# liteFlow + +* liteFlow能够帮助你的项目实现业务组件化 +* liteFlow能最大程度上解耦,支持即时调整策略的一个中间件 + +[Gitee](https://gitee.com/bryan31/liteFlow) +[GitHub](https://github.com/thebeastshop/liteFlow) +[快速开始](#一、快速开始) diff --git a/docs/guide_cn.md b/docs/guide_cn.md index 2e8965e6f..1e42e2b11 100644 --- a/docs/guide_cn.md +++ b/docs/guide_cn.md @@ -189,7 +189,7 @@ spring中需要改的地方还是执行器的配置,只需要在配置的路 ## 6.1组件式流程引擎架构设计 -![architecture_image](https://raw.githubusercontent.com/thebeastshop/liteFlow/master/docs/images/architecture.png) +![architecture_image](media/architecture.png) Handler Unit:我们想象成每一个业务都是一个业务组件,每一个业务组件就是一个handlerUnit(处理单元) EPU:这里的epu对应的就是我们的执行器,用来统筹并处理handlerUnit。相当于计算机的CPU Event Bus:事件总线,用来指定下一个命令是什么,该如何去执行处理单元。这里的时间总线由我们的配置构成 @@ -319,3 +319,6 @@ liteFlow提供了简单的监控,目前只统计一个指标:每个组件的 * 增加对zookeeper的支持 * 增加自定义配置源 * 优化监控的表现 + +# 九、联系作者 +![wx](media/wx.jpeg) diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..7fe4915d7 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,27 @@ + + + + + Document + + + + + + +
+ + + + + + diff --git a/docs/lib/docsify.min.js b/docs/lib/docsify.min.js new file mode 100644 index 000000000..f0403005a --- /dev/null +++ b/docs/lib/docsify.min.js @@ -0,0 +1 @@ +!function(){function e(e){var t=Object.create(null);return function(n){var r=i(n)?n:JSON.stringify(n);return t[r]||(t[r]=e(n))}}var t=e(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),n=Object.prototype.hasOwnProperty,r=Object.assign||function(e){for(var t=arguments,r=1;r=i.length)r(n);else if("function"==typeof t)if(2===t.length)t(n,function(t){n=t,o(e+1)});else{var a=t(n);n=void 0===a?n:a,o(e+1)}else o(e+1)};o(0)}var l=!0,c=l&&document.body.clientWidth<=600,u=l&&window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),h={};function p(e,t){if(void 0===t&&(t=!1),"string"==typeof e){if(void 0!==window.Vue)return m(e);e=t?m(e):h[e]||(h[e]=m(e))}return e}var d=l&&document,g=l&&d.body,f=l&&d.head;function m(e,t){return t?e.querySelector(t):d.querySelector(e)}function v(e,t){return[].slice.call(t?e.querySelectorAll(t):d.querySelectorAll(e))}function b(e,t){return e=d.createElement(e),t&&(e.innerHTML=t),e}function y(e,t){return e.appendChild(t)}function k(e,t){return e.insertBefore(t,e.children[0])}function w(e,t,n){o(t)?window.addEventListener(e,t):e.addEventListener(t,n)}function x(e,t,n){o(t)?window.removeEventListener(e,t):e.removeEventListener(t,n)}function _(e,t,n){e&&e.classList[n?t:"toggle"](n||t)}var S=Object.freeze({getNode:p,$:d,body:g,head:f,find:m,findAll:v,create:b,appendTo:y,before:k,on:w,off:x,toggleClass:_,style:function(e){y(f,b("style",e))}});function C(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+C(e.children)+"
    ")}),t):""}function L(e,t){return'

    '+t.slice(5).trim()+"

    "}var E,A;function $(e){var t,n=e.loaded,r=e.total,i=e.step;!E&&function(){var e=b("div");e.classList.add("progress"),y(g,e),E=e}(),t=i?(t=parseInt(E.style.width||0,10)+i)>80?80:t:Math.floor(n/r*100),E.style.opacity=1,E.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(A),A=setTimeout(function(e){E.style.opacity=0,E.style.width="0%"},200))}var T={};function P(e,t,r){void 0===t&&(t=!1),void 0===r&&(r={});var i=new XMLHttpRequest,o=function(){i.addEventListener.apply(i,arguments)},s=T[e];if(s)return{then:function(e){return e(s.content,s.opt)},abort:a};i.open("GET",e);for(var l in r)n.call(r,l)&&i.setRequestHeader(l,r[l]);return i.send(),{then:function(n,r){if(void 0===r&&(r=a),t){var s=setInterval(function(e){return $({step:Math.floor(5*Math.random()+1)})},500);o("progress",$),o("loadend",function(e){$(e),clearInterval(s)})}o("error",r),o("load",function(t){var a=t.target;if(a.status>=400)r(a);else{var o=T[e]={content:a.response,opt:{updatedAt:i.getResponseHeader("last-modified")}};n(o.content,o.opt)}})},abort:function(e){return 4!==i.readyState&&i.abort()}}}function F(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}var O=/([^{]*?)\w(?=\})/g,M={YYYY:"getFullYear",YY:"getYear",MM:function(e){return e.getMonth()+1},DD:"getDate",HH:"getHours",mm:"getMinutes",ss:"getSeconds"};var N="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function j(e,t){return e(t={exports:{}},t.exports),t.exports}var q=j(function(e,t){(function(){var t={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:p,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:p,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:p,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};t.bullet=/(?:[*+-]|\d+\.)/,t.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,t.item=l(t.item,"gm")(/bull/g,t.bullet)(),t.list=l(t.list)(/bull/g,t.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+t.def.source+")")(),t.blockquote=l(t.blockquote)("def",t.def)(),t._tag="(?!(?: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",t.html=l(t.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,t._tag)(),t.paragraph=l(t.paragraph)("hr",t.hr)("heading",t.heading)("lheading",t.lheading)("blockquote",t.blockquote)("tag","<"+t._tag)("def",t.def)(),t.normal=d({},t),t.gfm=d({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=l(t.paragraph)("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|")(),t.tables=d({},t.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function n(e){this.tokens=[],this.tokens.links={},this.options=e||g.defaults,this.rules=t.normal,this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,n,r){var i,a,o,s,l,c,u,h,p;for(e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(n&&(o=this.rules.nptable.exec(e))){for(e=e.substring(o[0].length),c={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},h=0;h ?/gm,""),this.token(o,n,!0),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),s=o[2],this.tokens.push({type:"list_start",ordered:s.length>1}),i=!1,p=(o=o[0].match(this.rules.item)).length,h=0;h1&&l.length>1||(e=o.slice(h+1).join("\n")+e,h=p-1)),a=i||/\n\n(?!\s*$)/.test(c),h!==p-1&&(i="\n"===c.charAt(c.length-1),a||(a=i)),this.tokens.push({type:a?"loose_item_start":"list_item_start"}),this.token(c,!1,r),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(o=this.rules.html.exec(e))e=e.substring(o[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!r&&n&&(o=this.rules.def.exec(e)))e=e.substring(o[0].length),this.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(n&&(o=this.rules.table.exec(e))){for(e=e.substring(o[0].length),c={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},h=0;h])/,autolink:/^<([^ <>]+(@|:\/)[^ <>]+)>/,url:p,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^<'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:p,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,r.link=l(r.link)("inside",r._inside)("href",r._href)(),r.reflink=l(r.reflink)("inside",r._inside)(),r.normal=d({},r),r.pedantic=d({},r.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),r.gfm=d({},r.normal,{escape:l(r.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(r.text)("]|","~]|")("|","|https?://|")()}),r.breaks=d({},r.gfm,{br:l(r.br)("{2,}","*")(),text:l(r.gfm.text)("{2,}","*")()});function i(e,t){if(this.options=t||g.defaults,this.links=e,this.rules=r.normal,this.renderer=this.options.renderer||new a,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=r.breaks:this.rules=r.gfm:this.options.pedantic&&(this.rules=r.pedantic)}i.rules=r,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,i,a="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),a+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=s(":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1])),r=this.mangle("mailto:")+n):r=n=s(i[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):s(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,a+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),a+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),a+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),a+=this.renderer.codespan(s(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),a+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),a+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),a+=this.renderer.text(s(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),r=n=s(i[1]),a+=this.renderer.link(r,null,n);return a},i.prototype.outputLink=function(e,t){var n=s(t.href),r=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n};function a(e){this.options=e||{}}a.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
    '+(n?e:s(e,!0))+"\n
    \n":"
    "+(n?e:s(e,!0))+"\n
    "},a.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n){return"'+e+"\n"},a.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},a.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},a.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},a.prototype.paragraph=function(e){return"

    "+e+"

    \n"},a.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
    \n"},a.prototype.tablerow=function(e){return"\n"+e+"\n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},a.prototype.strong=function(e){return""+e+""},a.prototype.em=function(e){return""+e+""},a.prototype.codespan=function(e){return""+e+""},a.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent((i=e,i.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,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)):""}))).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return n}var i;this.options.baseUrl&&!h.test(e)&&(e=c(this.options.baseUrl,e));var a='
    "},a.prototype.image=function(e,t,n){this.options.baseUrl&&!h.test(e)&&(e=c(this.options.baseUrl,e));var r=''+n+'":">"},a.prototype.text=function(e){return e};function o(e){this.tokens=[],this.token=null,this.options=e||g.defaults,this.options.renderer=this.options.renderer||new a,this.renderer=this.options.renderer,this.renderer.options=this.options}o.parse=function(e,t,n){return new o(t,n).parse(e)},o.prototype.parse=function(e){this.inline=new i(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},o.prototype.next=function(){return this.token=this.tokens.pop()},o.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},o.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},o.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",a="";for(n="",e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=(i=i.source||i).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function c(e,t){return u[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?u[" "+e]=e+"/":u[" "+e]=e.replace(/[^/]*$/,"")),e=u[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}var u={},h=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function p(){}p.exec=p;function d(e){for(var t,n,r=arguments,i=1;iAn error occurred:

    "+s(e.message+"",!0)+"
    ";throw e}}g.options=g.setOptions=function(e){return d(g.defaults,e),g},g.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new a,xhtml:!1,baseUrl:null},g.Parser=o,g.parser=o.parse,g.Renderer=a,g.Lexer=n,g.lexer=n.lex,g.InlineLexer=i,g.inlineLexer=i.output,g.parse=g,e.exports=g}).call(function(){return this||("undefined"!=typeof window?window:N)}())}),R=j(function(e){var t="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},n=function(){var e=/\blang(?:uage)?-(\w+)\b/i,n=0,r=t.Prism={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof i?new i(e.type,r.util.encode(e.content),e.alias):"Array"===r.util.type(e)?e.map(r.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(w instanceof l)){p.lastIndex=0;var x=1;if(!(A=p.exec(w))&&f&&y!=t.length-1){if(p.lastIndex=k,!(A=p.exec(e)))break;for(var _=A.index+(g?A[1].length:0),S=A.index+A[0].length,C=y,L=k,E=t.length;C=(L+=t[C].length)&&(++y,k=L);if(t[y]instanceof l||t[C-1].greedy)continue;x=C-y,w=e.slice(k,L),A.index-=k}if(A){g&&(m=A[1].length);S=(_=A.index+m)+(A=A[0].slice(m)).length;var A,$=w.slice(0,_),T=w.slice(S),P=[y,x];$&&(++y,k+=$.length,P.push($));var F=new l(c,d?r.tokenize(A,d):A,v,A,f);if(P.push(F),T&&P.push(T),Array.prototype.splice.apply(t,P),1!=x&&r.matchGrammar(e,t,n,y,k,!0,c),o)break}else if(o)break}}}}},tokenize:function(e,t,n){var i=[e],a=t.rest;if(a){for(var o in a)t[o]=a[o];delete t.rest}return r.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var i,a=0;i=n[a++];)i(t)}}},i=r.Token=function(e,t,n,r,i){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!i};if(i.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join("");var a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(r.disableWorkerMessageHandler||t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,r.manual||a.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),t.Prism}();e.exports&&(e.exports=n),void 0!==N&&(N.Prism=n),n.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:"language-css",greedy:!0}}),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{keyword:/\b(?: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|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),n.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:"language-javascript",greedy:!0}}),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var r,i=t.getAttribute("data-src"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[1]),!r){var s=(i.match(/\.(\w+)$/)||[,""])[1];r=e[s]||s}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",i,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,n.highlightElement(l)):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))});function H(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?r[a].children=(r[a].children||[]).concat(e):n.push(e),r[i]=e)}),n}var z={},I=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;function B(e){return e.toLowerCase()}function U(e){if("string"!=typeof e)return"";var t=e.trim().replace(/[A-Z]+/g,B).replace(/<[^>\d]+>/g,"").replace(I,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),r=z[t];return r=n.call(z,t)?r+1:0,z[t]=r,r&&(t=t+"-"+r),t}U.clear=function(){z={}};function D(e,t){return''+t+''}var Y=decodeURIComponent,W=encodeURIComponent;function G(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("=");t[n[0]]=n[1]&&Y(n[1])}),t):t}function X(e,t){void 0===t&&(t=[]);var n=[];for(var r in e)t.indexOf(r)>-1||n.push(e[r]?(W(r)+"="+W(e[r])).toLowerCase():W(r));return n.length?"?"+n.join("&"):""}var Q=e(function(e){return/(:|(\/{2}))/g.test(e)}),V=e(function(e){return/\/$/g.test(e)?e:(e=e.match(/(\S*\/)[^/]+$/))?e[1]:""}),Z=e(function(e){return e.replace(/^\/+/,"/").replace(/([^:])\/{2,}/g,"$1/")});function J(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Z(e.join("/"))}var K=e(function(e){return e.replace("#","?id=")}),ee={};function te(e){void 0===e&&(e="");var t={};return e&&(e=e.replace(/:([\w-]+)=?([\w-]+)?/g,function(e,n,r){return t[n]=r&&r.replace(/"/g,"")||!0,""}).trim()),{str:e,config:t}}var ne={markdown:function(e){return{url:e}},iframe:function(e,t){return{code:'"}},video:function(e,t){return{code:'"}},audio:function(e,t){return{code:'"}},code:function(e,t){var n=e.match(/\.(\w+)$/);return"md"===(n=t||n&&n[1])&&(n="markdown"),{url:e,lang:n}}},re=function(t,n){this.config=t,this.router=n,this.cacheTree={},this.toc=[],this.linkTarget=t.externalLinkTarget||"_blank",this.contentBase=n.getBasePath();var a,s=this._initRenderer(),c=t.markdown||{};o(c)?a=c(q,s):(q.setOptions(r(c,{renderer:r(s,c.renderer)})),a=q),this._marked=a,this.compile=e(function(e){var n="";if(!e)return e;n=i(e)?a(e):a.parser(e),n=t.noEmoji?n:(r=n,r.replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w+?):/gi,l&&window.emojify||D).replace(/__colon__/g,":"));var r;return U.clear(),n})};re.prototype.compileEmbed=function(e,t){var n,r=te(t),i=r.str,a=r.config;if(t=i,a.include){Q(e)||(e=J(this.contentBase,V(this.router.getCurrentPath()),e));var o;if(a.type&&(o=ne[a.type]))(n=o.call(this,e,t)).type=a.type;else{var s="code";/\.(md|markdown)/.test(e)?s="markdown":/\.html?/.test(e)?s="iframe":/\.(mp4|ogg)/.test(e)?s="video":/\.mp3/.test(e)&&(s="audio"),(n=ne[s].call(this,e,t)).type=s}return n}},re.prototype._matchNotCompileLink=function(e){for(var t=this.config.noCompileLinks||[],n=0;n
    '+e+""},a.code=e.code=function(e,t){void 0===t&&(t=""),e=e.replace(/@DOCSIFY_QM@/g,"`");return'
    '+R.highlight(e,R.languages[t]||R.languages.markup)+"
    "},a.link=e.link=function(e,r,a){void 0===r&&(r="");var o="",s=te(r),l=s.str,c=s.config;return r=l,/:|(\/{2})/.test(e)||i._matchNotCompileLink(e)||c.ignore?o+=' target="'+t+'"':(e===i.config.homepage&&(e="README"),e=n.toURL(e,null,n.getCurrentPath())),c.target&&(o+=" target="+c.target),c.disabled&&(o+=" disabled",e="javascript:void(0)"),r&&(o+=' title="'+r+'"'),'"+a+""},a.paragraph=e.paragraph=function(e){return/^!>/.test(e)?L("tip",e):/^\?>/.test(e)?L("warn",e):"

    "+e+"

    "},a.image=e.image=function(e,t,i){var a=e,o="",s=te(t);return t=s.str,s.config["no-zoom"]&&(o+=" data-no-zoom"),t&&(o+=' title="'+t+'"'),Q(e)||(a=J(r,V(n.getCurrentPath()),e)),''+i+'"};var o=/^\[([ x])\] +/;return a.listitem=e.listitem=function(e){var t=o.exec(e);return t&&(e=e.replace(o,'")),""+e+"\n"},e.origin=a,e},re.prototype.sidebar=function(e,t){var n=this.router.getCurrentPath(),r="";if(e)r=(r=this.compile(e))&&r.match(/]*>([\s\S]+)<\/ul>/g)[0];else{var i=this.cacheTree[n]||H(this.toc,t);r=C(i,"
      "),this.cacheTree[n]=i}return r},re.prototype.subSidebar=function(e){if(e){var t=this.router.getCurrentPath(),n=this.cacheTree,r=this.toc;r[0]&&r[0].ignoreAllSubs&&r.splice(0),r[0]&&1===r[0].level&&r.shift();for(var i=0;i')}this.toc=[]},re.prototype.article=function(e){return this.compile(e)},re.prototype.cover=function(e){var t=this.toc.slice(),n=this.compile(e);return this.toc=t.slice(),n};var ie=d.title;function ae(){var e=p("section.cover");if(e){var t=e.getBoundingClientRect().height;window.pageYOffset>=t||e.classList.contains("hidden")?_(g,"add","sticky"):_(g,"remove","sticky")}}function oe(e,t,n,r){var i,a=v(t=p(t),"a"),o=decodeURI(e.toURL(e.getCurrentPath()));return a.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var t=e.getAttribute("href"),r=n?e.parentNode:e;0!==o.indexOf(t)||i?_(r,"remove","active"):(i=e,_(r,"add","active"))}),r&&(d.title=i?i.innerText+" - "+ie:ie),i}var se=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.duration=t.duration||1e3,this.ease=t.easing||this._defaultEase,this.start=t.start,this.end=t.end,this.frame=null,this.next=null,this.isRunning=!1,this.events={},this.direction=this.startthis.end&&e>=this.next}[this.direction]}},{key:"_defaultEase",value:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}}]),e}(),ce={},ue=!1,he=null,pe=!0,de=0;function ge(e){if(pe){for(var t,n=p(".sidebar"),r=v(".anchor"),i=m(n,".sidebar-nav"),a=m(n,"li.active"),o=document.documentElement,s=(o&&o.scrollTop||document.body.scrollTop)-de,l=0,c=r.length;ls){t||(t=u);break}t=u}if(t){var h=ce[fe(e,t.getAttribute("data-id"))];if(h&&h!==a&&(a&&a.classList.remove("active"),h.classList.add("active"),a=h,!ue&&g.classList.contains("sticky"))){var d=n.clientHeight,f=a.offsetTop+a.clientHeight+40,b=f-0=i.scrollTop&&f<=i.scrollTop+d?i.scrollTop:b?0:f-d;n.scrollTop=y}}}}function fe(e,t){return e+"?id="+t}function me(e,t){if(t){var n=m("#"+t);n&&(r=n,he&&he.stop(),pe=!1,he=new le({start:window.pageYOffset,end:r.getBoundingClientRect().top+window.pageYOffset,duration:500}).on("tick",function(e){return window.scrollTo(0,e)}).on("done",function(){pe=!0,he=null}).begin());var r,i=ce[fe(e,t)],a=m(p(".sidebar"),"li.active");a&&a.classList.remove("active"),i&&i.classList.add("active")}}var ve=d.scrollingElement||d.documentElement;var be={};function ye(e,t){var n=e.compiler,i=e.raw;void 0===i&&(i="");var a,o=e.fetch;if(a=be[i])return t(a);var s=n._marked,l=s.lexer(i),c=[],u=s.InlineLexer.rules.link,h=l.links;l.forEach(function(e,t){"paragraph"===e.type&&(e.text=e.text.replace(new RegExp(u.source,"g"),function(e,r,i,a){var o=n.compileEmbed(i,a);return o?("markdown"!==o.type&&"code"!==o.type||c.push({index:t,embed:o}),o.code):e}))});var p=0;!function e(t,n){var r=t.step;void 0===r&&(r=0);var i=t.embedTokens,a=t.compile,o=t.fetch,s=i[r];if(!s)return n({});P(s.embed.url).then(function(t){var l;t&&("markdown"===s.embed.type?l=a.lexer(t):"code"===s.embed.type&&(l=a.lexer("```"+s.embed.lang+"\n"+t.replace(/`/g,"@DOCSIFY_QM@")+"\n```\n"))),n({token:s,embedToken:l}),e({step:++r,compile:a,embedTokens:i,fetch:o},n)})}({compile:s,embedTokens:c,fetch:o},function(e){var n=e.embedToken,a=e.token;if(a){var o=a.index+p;r(h,n.links),l=l.slice(0,o).concat(n,l.slice(o+1)),p+=n.length-1}else be[i]=l.concat(),l.links=be[i].links=h,t(l)})}function ke(){var e=v(".markdown-section>script").filter(function(e){return!/template/.test(e.type)})[0];if(!e)return!1;var t=e.innerText.trim();if(!t)return!1;setTimeout(function(e){window.__EXECUTE_RESULT__=new Function(t)()},0)}function we(e,t,n){return t="function"==typeof n?n(t):"string"==typeof n?function(e){var t=[],n=0;return e.replace(O,function(r,i,a){t.push(e.substring(n,a-1)),n=a+=r.length+1,t.push(function(e){return("00"+("string"==typeof M[r]?e[M[r]]():M[r](e))).slice(-r.length)})}),n!==e.length&&t.push(e.substring(n)),function(e){for(var n="",r=0,i=e||new Date;r'):"")),t.coverpage&&(a+='
      \x3c!--cover--\x3e
      '),a+=function(e){var t='';return(c?t+"
      ":"
      "+t)+'
      \x3c!--main--\x3e
      '}(t),e._renderTo(i,a,!0)):e.rendered=!0;var s;t.mergeNavbar&&c?o=m(".sidebar"):(r.classList.add("app-nav"),t.repo||r.classList.add("no-badge")),t.loadNavbar&&k(o,r),t.themeColor&&(d.head.appendChild(b("div",(u=t.themeColor,"")).firstElementChild),function(e){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)"))){var t=v("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)F(t,e);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;P(n).then(function(t){var n=b("style",t);f.appendChild(n),F(n,e)})}})}}(t.themeColor));var u;e._updateRender(),_(g,"ready")}var Se={};var Ce=function(e){this.config=e};Ce.prototype.getBasePath=function(){return this.config.basePath},Ce.prototype.getFile=function(e,t){void 0===e&&(e=this.getCurrentPath());var n=this.config,r=this.getBasePath(),i="string"==typeof n.ext?n.ext:".md";e=n.alias?function e(t,n,r){var i=Object.keys(n).filter(function(e){return(Se[e]||(Se[e]=new RegExp("^"+e+"$"))).test(t)&&t!==r})[0];return i?e(t.replace(Se[i],n[i]),n,t):t}(e,n.alias):e,a=e,o=i;var a,o;return e=(e=new RegExp("\\.("+o.replace(/^\./,"")+"|html)$","g").test(a)?a:/\/$/g.test(a)?a+"README"+o:""+a+o)==="/README"+i?n.homepage||e:e,e=Q(e)?e:J(r,e),t&&(e=e.replace(new RegExp("^"+r),"")),e},Ce.prototype.onchange=function(e){void 0===e&&(e=a),e()},Ce.prototype.getCurrentPath=function(){},Ce.prototype.normalize=function(){},Ce.prototype.parse=function(){},Ce.prototype.toURL=function(e,t,n){var i=n&&"#"===e[0],a=this.parse(K(e));if(a.query=r({},a.query,t),e=(e=a.path+X(a.query)).replace(/\.md(\?)|\.md$/,"$1"),i){var o=n.indexOf("?");e=(o>0?n.substr(0,o):n)+e}return Z("/"+e)};function Le(e){var t=location.href.indexOf("#");location.replace(location.href.slice(0,t>=0?t:0)+"#"+e)}var Ee=function(e){function t(t){e.call(this,t),this.mode="hash"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getBasePath=function(){var e=window.location.pathname||"",t=this.config.basePath;return/^(\/|https?:)/g.test(t)?t:Z(e+"/"+t)},t.prototype.getCurrentPath=function(){var e=location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)},t.prototype.onchange=function(e){void 0===e&&(e=a),w("hashchange",e)},t.prototype.normalize=function(){var e=this.getCurrentPath();if("/"===(e=K(e)).charAt(0))return Le(e);Le("/"+e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("#");n>=0&&(e=e.slice(n+1));var r=e.indexOf("?");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{path:e,file:this.getFile(e,!0),query:G(t)}},t.prototype.toURL=function(t,n,r){return"#"+e.prototype.toURL.call(this,t,n,r)},t}(Ce),Ae=function(e){function t(t){e.call(this,t),this.mode="history"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCurrentPath=function(){var e=this.getBasePath(),t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash},t.prototype.onchange=function(e){void 0===e&&(e=a),w("click",function(t){var n="A"===t.target.tagName?t.target:t.target.parentNode;if("A"===n.tagName&&!/_blank/.test(n.target)){t.preventDefault();var r=n.href;window.history.pushState({key:r},"",r),e()}}),w("popstate",e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("?");n>=0&&(t=e.slice(n+1),e=e.slice(0,n));var r=J(location.origin),i=e.indexOf(r);return i>-1&&(e=e.slice(i+r.length)),{path:e,file:this.getFile(e),query:G(t)}},t}(Ce);var $e={};function Te(e){e.router.normalize(),e.route=e.router.parse(),g.setAttribute("data-page",e.route.file)}function Pe(e){!function(e){var t=function(e){return g.classList.toggle("close")};w(e=p(e),"click",function(e){e.stopPropagation(),t()}),c&&w(g,"click",function(e){return g.classList.contains("close")&&t()})}("button.sidebar-toggle",e.router),t=".sidebar",e.router,w(t=p(t),"click",function(e){var t=e.target;"A"===t.nodeName&&t.nextSibling&&t.nextSibling.classList.contains("app-sub-sidebar")&&_(t.parentNode,"collapse")});var t;e.config.coverpage?!c&&w("scroll",ae):g.classList.add("sticky")}function Fe(e,t,n,r,i,a){e=a?e:e.replace(/\/$/,""),(e=V(e))&&P(i.router.getFile(e+n)+t,!1,i.config.requestHeaders).then(r,function(a){return Fe(e,t,n,r,i)})}var Oe=Object.freeze({cached:e,hyphenate:t,hasOwn:n,merge:r,isPrimitive:i,noop:a,isFn:o,inBrowser:l,isMobile:c,supportsPushState:u,parseQuery:G,stringifyQuery:X,isAbsolutePath:Q,getParentPath:V,cleanPath:Z,getPath:J,replaceSlug:K});function Me(){this._init()}var Ne=Me.prototype;Ne._init=function(){this.config=function(){var e=r({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname,autoHeader:!1,executeScript:null,noEmoji:!1,ga:"",ext:".md",mergeNavbar:!1,formatUpdated:"",externalLinkTarget:"_blank",routerMode:"hash",noCompileLinks:[]},window.$docsify),a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).filter(function(e){return/docsify\./.test(e.src)})[0];if(a){for(var o in e)if(n.call(e,o)){var s=a.getAttribute("data-"+t(o));i(s)&&(e[o]=""===s||s)}!0===e.loadSidebar&&(e.loadSidebar="_sidebar"+e.ext),!0===e.loadNavbar&&(e.loadNavbar="_navbar"+e.ext),!0===e.coverpage&&(e.coverpage="_coverpage"+e.ext),!0===e.repo&&(e.repo=""),!0===e.name&&(e.name="")}return window.$docsify=e,e}(),(e=this)._hooks={},e._lifecycle={},["init","mounted","beforeEach","afterEach","doneEach","ready"].forEach(function(t){var n=e._hooks[t]=[];e._lifecycle[t]=function(e){return n.push(e)}});var e;[].concat((a=this).config.plugins).forEach(function(e){return o(e)&&e(a._lifecycle,a)});var a;s(this,"init"),function(e){var t,n=e.config;t="history"===(n.routerMode||"hash")&&u?new Ae(n):new Ee(n),e.router=t,Te(e),$e=e.route,t.onchange(function(t){Te(e),e._updateRender(),$e.path!==e.route.path?(e.$fetch(),$e=e.route):e.$resetEvents()})}(this),_e(this),Pe(this),function(e){var t=e.config.loadSidebar;if(e.rendered){var n=oe(e.router,".sidebar-nav",!0,!0);t&&n&&(n.parentNode.innerHTML+=window.__SUB_SIDEBAR__),e._bindEventOnRendered(n),e.$resetEvents(),s(e,"doneEach"),s(e,"ready")}else e.$fetch(function(t){return s(e,"ready")})}(this),s(this,"mounted")};Ne.route={};(je=Ne)._renderTo=function(e,t,n){var r=p(e);r&&(r[n?"outerHTML":"innerHTML"]=t)},je._renderSidebar=function(e){var t=this.config,n=t.maxLevel,r=t.subMaxLevel,i=t.loadSidebar;this._renderTo(".sidebar-nav",this.compiler.sidebar(e,n));var a=oe(this.router,".sidebar-nav",!0,!0);i&&a?a.parentNode.innerHTML+=this.compiler.subSidebar(r)||"":this.compiler.subSidebar(),this._bindEventOnRendered(a)},je._bindEventOnRendered=function(e){var t=this.config,n=t.autoHeader,r=t.auto2top;if(function(e){var t=m(".cover.show");de=t?t.offsetHeight:0;for(var n=p(".sidebar"),r=v(n,"li"),i=0,a=r.length;i([^<]*?)

      $');if(i){if("color"===i[2])n.style.background=i[1]+(i[3]||"");else{var a=i[1];_(n,"add","has-mask"),Q(i[1])||(a=J(this.router.getBasePath(),i[1])),n.style.backgroundImage="url("+a+")",n.style.backgroundSize="cover",n.style.backgroundPosition="center center"}r=r.replace(i[0],"")}this._renderTo(".cover-main",r),ae()}else _(n,"remove","show")},je._updateRender=function(){!function(e){var t=p(".app-name-link"),n=e.config.nameLink,r=e.route.path;if(t)if(i(e.config.nameLink))t.setAttribute("href",n);else if("object"==typeof n){var a=Object.keys(n).filter(function(e){return r.indexOf(e)>-1})[0];t.setAttribute("href",n[a])}}(this)};var je;!function(e){var t,n=function(e,n,r){return t&&t.abort&&t.abort(),t=P(e,!0,r)};e._loadSideAndNav=function(e,t,n,r){var i=this;return function(){if(!n)return r();Fe(e,t,n,function(e){i._renderSidebar(e),r()},i,!0)}},e._fetch=function(e){var t=this;void 0===e&&(e=a);var r=this.route,i=r.path,o=X(r.query,["id"]),s=this.config,l=s.loadNavbar,c=s.requestHeaders,u=s.loadSidebar,h=this.router.getFile(i),p=n(h+o,0,c);this.isHTML=/\.html$/g.test(h),p.then(function(n,r){return t._renderMain(n,r,t._loadSideAndNav(i,o,u,e))},function(n){t._fetchFallbackPage(h,o,e)||t._fetch404(h,o,e)}),l&&Fe(i,o,l,function(e){return t._renderNav(e)},this,!0)},e._fetchCover=function(){var e=this,t=this.config,n=t.coverpage,r=t.requestHeaders,i=this.route.query,a=V(this.route.path);if(n){var o=null,s=this.route.path;if("string"==typeof n)"/"===s&&(o=n);else if(Array.isArray(n))o=n.indexOf(s)>-1&&"_coverpage";else{var l=n[s];o=!0===l?"_coverpage":l}var c=Boolean(o)&&this.config.onlyCover;return o?(o=this.router.getFile(a+o),this.coverIsHTML=/\.html$/g.test(o),P(o+X(i,["id"]),!1,r).then(function(t){return e._renderCover(t,c)})):this._renderCover(null,c),c}},e.$fetch=function(e){var t=this;void 0===e&&(e=a);var n=function(){s(t,"doneEach"),e()};this._fetchCover()?n():this._fetch(function(){t.$resetEvents(),n()})},e._fetchFallbackPage=function(e,t,r){var i=this;void 0===r&&(r=a);var o=this.config,s=o.requestHeaders,l=o.fallbackLanguages,c=o.loadSidebar;if(!l)return!1;var u=e.split("/")[1];if(-1===l.indexOf(u))return!1;var h=e.replace(new RegExp("^/"+u),"");return n(h+t,0,s).then(function(n,a){return i._renderMain(n,a,i._loadSideAndNav(e,t,c,r))},function(){return i._fetch404(e,t,r)}),!0},e._fetch404=function(e,t,r){var i=this;void 0===r&&(r=a);var o=this.config,s=o.loadSidebar,l=o.requestHeaders,c=o.notFoundPage,u=this._loadSideAndNav(e,t,s,r);if(c){var h=function(e,t){var n,r,i=t.notFoundPage,a="_404"+(t.ext||".md");switch(typeof i){case"boolean":r=a;break;case"string":r=i;break;case"object":r=(n=Object.keys(i).sort(function(e,t){return t.length-e.length}).find(function(t){return e.match(new RegExp("^"+t))}))&&i[n]||a}return r}(e,this.config);return n(this.router.getFile(h),0,l).then(function(e,t){return i._renderMain(e,t,u)},function(){return i._renderMain(null,{},u)}),!0}return this._renderMain(null,{},u),!1}}(Ne),Ne.$resetEvents=function(){me(this.route.path,this.route.query.id),this.config.loadNavbar&&oe(this.router,"nav")};window.Docsify={util:Oe,dom:S,get:P,slugify:U},window.DocsifyCompiler=re,window.marked=q,window.Prism=R,Me.version="4.6.10",function(e){var t=document.readyState;if("complete"===t||"interactive"===t)return setTimeout(e,0);document.addEventListener("DOMContentLoaded",e)}(function(e){return new Me})}(); diff --git a/docs/lib/plugins/search.min.js b/docs/lib/plugins/search.min.js new file mode 100644 index 000000000..e4d4064ad --- /dev/null +++ b/docs/lib/plugins/search.min.js @@ -0,0 +1 @@ +!function(){var n,e={};function t(n){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(n).replace(/[&<>"'/]/g,function(n){return e[n]})}function o(t,o){n=Docsify;var a="auto"===t.paths,i=localStorage.getItem("docsify.search.expires")l.length&&(d=l.length);var h="..."+t(l).substring(i,d).replace(e,''+n+"")+"...";s+=h}}),r)){var h={title:t(c),content:s,url:d};o.push(h)}},s=0;s\n

      '+n.title+"

      \n

      "+n.content+"

      \n\n"}),i.classList.add("show"),r.classList.add("show"),i.innerHTML=s||'

      '+a+"

      "}function r(n,e){var t=e.router.parse().query.s;Docsify.dom.style("\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0 7px;\n line-height: 36px;\n font-size: 14px;\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.search .clear-button {\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}"),function(n,e){void 0===e&&(e="");var t='
      \n \n
      \n \n \n \n \n \n
      \n
      \n
      \n ',o=Docsify.dom.create("div",t),a=Docsify.dom.find("aside");Docsify.dom.toggleClass(o,"search"),Docsify.dom.before(a,o)}(0,t),function(){var n,e=Docsify.dom.find("div.search"),t=Docsify.dom.find(e,"input"),o=Docsify.dom.find(e,".input-wrap");Docsify.dom.on(e,"click",function(n){return"A"!==n.target.tagName&&n.stopPropagation()}),Docsify.dom.on(t,"input",function(e){clearTimeout(n),n=setTimeout(function(n){return i(e.target.value.trim())},100)}),Docsify.dom.on(o,"click",function(n){"INPUT"!==n.target.tagName&&(t.value="",i())})}(),t&&setTimeout(function(n){return i(t)},500)}function s(n,e){!function(n,e){var t=Docsify.dom.getNode('.search input[type="search"]');if(t)if("string"==typeof n)t.placeholder=n;else{var o=Object.keys(n).filter(function(n){return e.indexOf(n)>-1})[0];t.placeholder=n[o]}}(n.placeholder,e.route.path),function(n,e){if("string"==typeof n)a=n;else{var t=Object.keys(n).filter(function(n){return e.indexOf(n)>-1})[0];a=n[t]}}(n.noData,e.route.path)}var c={placeholder:"Type to search",noData:"No Results!",paths:"auto",depth:2,maxAge:864e5};$docsify.plugins=[].concat(function(n,e){var t=Docsify.util,a=e.config.search||c;Array.isArray(a)?c.paths=a:"object"==typeof a&&(c.paths=Array.isArray(a.paths)?a.paths:"auto",c.maxAge=t.isPrimitive(a.maxAge)?a.maxAge:c.maxAge,c.placeholder=a.placeholder||c.placeholder,c.noData=a.noData||c.noData,c.depth=a.depth||c.depth);var i="auto"===c.paths;n.mounted(function(n){r(0,e),!i&&o(c,e)}),n.doneEach(function(n){s(c,e),i&&o(c,e)})},$docsify.plugins)}(); diff --git a/docs/lib/themes/vue.css b/docs/lib/themes/vue.css new file mode 100644 index 000000000..2ec931296 --- /dev/null +++ b/docs/lib/themes/vue.css @@ -0,0 +1 @@ +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}.task-list-item{list-style-type:none}li input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:2}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative}.app-nav li ul{background-color:#fff;border:1px solid #ddd;border-bottom-color:#ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:0;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{animation:a .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:3}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:4}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:800px;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:a .56s ease-in-out}}@keyframes a{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover.show{display:-ms-flexbox;display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{-ms-flex:1;flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border:1px solid var(--theme-color,#42b983);border-radius:2rem;box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0 6px 15px}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:"-";padding-right:4px;float:left}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section p{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.8rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file diff --git a/docs/images/architecture.png b/docs/media/architecture.png similarity index 100% rename from docs/images/architecture.png rename to docs/media/architecture.png diff --git a/docs/media/logo.png b/docs/media/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..75ac35277b4deecf1bd68cf76c6c26ec484b6037 GIT binary patch literal 9094 zcmd^l=U-FZ5^h8hLE9D2r3F5zueojD^6E0;$89GSMwM57(fhxPtM$baQ2rc& z0*azSj~t+u9BQ9lgf$ka4{pv@NElnJIuDAyV+=dB%J3*`@J~fap}1S!Lr*W)vC9ov z(&b5n{+rU4P=`0U4!7Ko?&hDyl2h&GzOJW9Wo|DHB(FK%nm^l>x|}wjHt+QjD=h{B ztr=Rv08D96HqeXnOs7DPg6K|wE@ml#KkaN zn;u3#{fol$CG{^rspBtHGeGE$aO z#aKZC=HhjHZv~HV6pkc`-)jsCIqN0(?-~hb!IWZ0#2|7vh_pVgUVaWyZ%iITD<52w zZ24!AaH~K9M34mGRa5wzJ-&a~7utE5{Oys#MCZSvsAJKD4FyDI zd~;CPjKiM~X4~8S*r9-m9_;x$LR1Mvz%t}^LbuGn_}-%gMA{@0pXKGI@}hUz!>@Pv z+u56{Sr7}Vx=5ej?US31;OmHg{c0&0mtfUB!`+diu|K6ri}7<>{++hYl5z2Q*; zz^8w3pRopTn_Z{`c>`rNzv_XOA58(5#`A2=Y0!G6nJvVJ;-mAw+P21Q$)w-Gj)2%66DF z>mQ5Bo}LQp$2ZhxSRLg5b+T)t(zW?#zGyP$v=@(yGj6^-_D^xf!Q3j!`Lv<4zd-)* zrUi#rtQ$A|)Wzhp;G7{L1Z_>mMKrkl&D-s5o`H%Zo4UPB$R89Qk5+z*Wk_XN)?0e7 z#53)9Y?)X}Pi9{6Z(iXUD{DtbH=k ztLOH8g?ez~59EhIT%5}DfAAU~`^%i%O#0+xBNo%;tVneFT}yg>Ek%kw>ONwzG05K$ z7N#0l8`S|`wL?V|$88+VJo190=4@TMS}3t47rhAHZ)xJ^tCh$PD#q&Dacs5GVr(5l zO?0Vg6RQvK%BxiWEz&B$9qZ+;ak;suQ!`i5${6CM7u!%zJ%N~VQ-RkH9#)Ikn00#( z3|o|kZW|e;OE-PPC56?0LH?FDW0;pGSpaze%L#Di$*f}Tm7kO!)9Vw8_0?PYSH%FF zVbN&i%qrJM01GSPmYB&RZtSWUnu@);s-=-pVwLX-*SDr#6u4u{|2LUSw zAD%lI9FFpWlUpM>yN_0W*2jP6H>Q=PLtZL;^tipsN>pj#jeq{*MQVc8B1hKR-|RDO z=)=f2ZIUh@s9$4-SuR`;sM)g~Eb#kfO>}QL$80H^YoKBR#0!4II(R!nLr2uH5*Bl? zq+7Ih?g9k!65@EP;9@a#p>TXTmSwyscb7ra)f_;~S^OZQ6QNly1wN=0Li6DhF0FB~ zn)^Q+X!^NOOsotVn>!FAE+73U&e`i%`1O^EzU&p9h}3Jbg~LdKS5kI@j?sFEbg!Ah zb3nHW>N=i=72W!U zHcY?6SCbCWs#t4xY(Rgw-1{|vhB>EsPhWepF_8D|Hq_3Q9(4^BVc0p*osI2Q!B;SR z{EHkMkno+ATCagx!?d4cFIhAl+?W;I>CV`X9AR+OW_N-H!wM{tBz03d*||n1I}(7#z2O6l$k1Z z>vhq`RgEq4#@~z>TriF8m%BQxSWU_rp7fvkgQ@ib~9fE?Z57M=*`wHip&PC3W4Q%WwC}2o;%971nD%P(LKnZnNY*)F?e_d+^9yzb$b;#YBvvV$WOUD@|&3U-+0PG&#sMm zedMdKwyuK6Yfbdm#D5I(7o^@sOq9PNWqf@_-JX;3y(+WeT}5eZkE z<{85U5nZ+99@m`phon}dy|0_gN=;YuBp>2nx`PJiH8&~RH^EEkLv;nt->B1_ z@&o+UT8Y<*7CU$@C^-e$NFeCXOgxWGb7}VNv5&{BEt@{Q=?y@7o(bklO*2&|^Wra0 zX>M~((>Dg4hFC}(o%SV2_cd(_L-Gkbf6!ogVkvuVqPpx_ve-^EI4L#-tx5Ko z(p0?Af1+aSp-8?qs(j)(()p>}PqXG~A3czy{56sI<#EA(xU{l|)Z>%#Qa&7wv3n^O zmaLn%FME}h-YX6D+@^2f{&iOjgzA2xQCj>L&~xmV2WloKHuy^igl#|xpi;5M!Z>Qa67O9azh&@yw(pT==Yjw$OvKAo+#nv z1;;0Un_iobk~3R-#cki$`W<#sf)%mr+fo|Ko~5Mh=tlm98S0&U#{f>}Gxm<`VM8l7 z;xErk)Ux)>)lH23xNGq8OOb7Qk^MWR&x=OoeH{iq;Nn;@KX-GgmEucB8@Jw0C%i;b zz|{$_?Z#)Xs3XQZ^~I_k_g~a9Or@AF9d{7%0n1mpp1*rK1g4I;=6DXX+)BsRSmB!l zLkC4DZ}SlYxJF$P!!35lf@N7U_bT74M2XU8s=6K@Uh(#ZDZ<60P7d6KgkGm=BCgE* zPK!S}AaUk2S#GSd^Rue8bB0;RJfpuQySQJ2=Smcc{etUiUKp~0!J8_^?wKB@ozLUC zWZrntq0$#!Bs!~dDI2e&tAFrI3)2eJzFN97nPRG5z8GLzz9oi&z0Pwn%~$vmUbg}h5hm-d%Y>ydxsTdviT|t zi8H&mq5UV55550O8Hf-o#1rg%83B1XUDxaDD0y0P5~JM}z}E7{2VK9aiVRiIBikm$ zMAPXBOp>v%7m#gI=Ed3pT%5r3Gc^2$(GKgW1mE7yL#@qUecS1V#tYLru9a=p*&q%$ zTx(pec^ntRjzreqD%m(~Jcm2ghJ;Q-o;BjB+R z2@L8`6D?J{kQpD4y?=&sU$YBo|9W4rcsY3?#go;4l_RNp;$Z)6lq;=dm;p z1Rt-6+?lE+XQeb+VA0AxAA^2&^N*a_AUzQ`OZ0#I*PMHf!@>>*TGI#&Qqn9JMHmnF z>d`ggd!xntG|Z{riugG>BqvK3Ax9@(D(z=Zx_jD=KEGm;vlWQCp8ZnDbxMXoqe}fd z#$(%c$E+vBnVurxbtb^pa)*_jV{Gh|Ov7z)?`RsRla-#GC7O8hl)Wkn;GT^+6;*WV z%Dva_>e8JUrX2h3=qNj}Z8=%rPcN++(dUb5ctJZrk1w;cF>sF}OGg%=Rsl9lw3Tvv z3~Fw8zt6zTw6z{ziPN#MkbONSs&YR zD;i8nJaQ^p`Nc3>mSD9GPIrQ7oR8|BXg;91=Il9zhO7!>W@ zsrc0XE`FjKqppB6Ok?us5-n~csg`^tm2#d(GAk6Ee(mT}&?Q@go4c{4=8t{0cC<(y zpT2!Nv-eiN-@+cI6v&sTSToH{e3fugGK&vU2pPNcW6){5*=jEkYv`byDm#b+&4kdo znwf-_hCnR1jd$f;b3&a$MTF7H)@bGHc!}hrmd}}Wc4c+BRrzaNKPUDoz9bQ2WUF#$ zGyAc|;5z?`=AVy`(>TS6LBw;|`Fg^JllCQc66p%8ps>af^EjjNQ61t#ev^h3(k$7P zeySvg3FGCfcX+@;`f>s|z~INP9i0eqMeLS-m)Q(@CkJ*Wgwg?GH`0|FW)&?r&&=U! z+mLXy@)ZbB9%D*bq>U-P3E4le3@!0`0!#M>a4*aW77D=vwrxQZ8~VdMY<<$6@mKvJnG7V^Z+_h!VH{x)M0W@g!kC}sJWx76G} zoW|^B0-W<>qQuxdWz7UsIvOnp=R9iign^Ey}K?`mABrE@jE7?4j2 z91x4M5XO)4mHU4 z6A*vmnFuLS8a2Sv$=*N_7~(?Du1-X<*BN<6Po;$;^eWBvq<9n~!b{JC6!;n_e9 zM*=(4D{i%aEh@Q0@m>wd`2L1IXB;!>h{%*!y}2s9=)?fUmpLt(8(sVyQI?E3nj6QI9Bh2E z@1eW$1<`#EUo3UKDePSpt3g-h(RunW#FLM_Il_Ey1ve=Xt&;rRdp*+S=PjC{i-tpK zQEffXU_Zm&_CZeo{Rj~3Ogo3)v$_5Zf86>(`5|2N)bauK19NuJxuY>Xb`E&Z{$%vL z^WK1MfZ-hlyC$(KsNz3x;=Sq`#7s4-fo44k7bP@e4aAj3V68~0>qIz7Hg$e*v_8jk zpxzcgKk{0J**fv(&RWgI7^bDbyHRwm`n{R;TM{Py&0b@)gD)K!CJT8*Zf#FB9fCcm zTU3tQgvdu;!`Pp=(^`{W8K?+(Nr#>DO(?&-Mt9^9Ib_!D$o0?b%ak{sBP{2=XeT-G z{-wYFWZx{v-K_)qvF=To47bD#sw8V~F|Xg@)KSxP%f7XFFsXbUgX9ZG4Ft#UWz))SH(F-W2nxVb^Meid-bFkQ>!aL+`~VuT?PgP z^B=c859iVrxojIF@HB1|c-{kSHceDfeYp2x218Zrs^Ta7Ivr9rx-r!sFofBwm+vbb zj>|}q9}KSJ&HbraKYj}w6yo6Ny#$og`!MVV7KOaXo8rjPT`y#9?S z&LZgHw%?~?8Ngr5t$!9)OOOg9)$9G;7HJgAsh2S}PliIqKZ6~=7~}h&0H&x1);dt; z#Eyso6E{m^$r+b9Bj(c8 zI_Ul16QXWVHcxpMn3B@_zg2PCdX1%3!#EJnu`QUCe&pq zjS>;$6dKzJ%Zr6K^mv=_1UoE)k~5So^bYY(tZ4lgljCe^NK^?jF$gU^4e=OZ2?TU5 z?S<1oC-M`k+HqmJj{ITWm?rs%43vH&jk)tY{Zx}MmVr^%VDKr^h#|1{?+)Tg0Z)#w zX@HfmJGKFFVRZ#phe^4QcOo5EAA=8CaEvoCbZ0_8po9An_W%;;I`H4s`F`NCRrF?o z!6_7IAL5?=F5?wY(zA%T3SHzFTbCv^&&P8NU|K(TsUQ9j(W@!}6fRpXy}#!RK}=Kv z9nfU!xxjYfToj=LI7fB5;(N<^g*ZkStnd=Y*7ueBBL3={PD}AIGYu2~o zqF(IlYHx~A1mhH$z~+3!W26VqEX0!$5esBV4B+X<&^R^+?2~Z_HI(Rn3S3}T$%QmH zOT>IXNRN>N`s*eufFxX=V6*IcIWNl*h62v9*=2qM{exN>+i~;S7YlZ(;T00l%b3;; z>z;9;=eaYDU#jG#n}f#1rG8BHuc7gr2w&sl4h~ze?u~U@mm39q=Bei& z78axr=mlE<+*CSDrh%Z$^z6#7uV{}sz%-OD=>qr$A*$TX@_UCOKcw8GTOqtz$gVeZ zHw|B?zc)LjgWxx84Y_;EUA?qn-A>r=3yy`dgm6(fsNbc;T64yr4F~U*^_k>tO`S@d_iD;-&KR6KdP`NR^4lfMs$V@Y}vf zR3443?RN8Cf)`Qh-3Rs70gajeoS>~IuM^!leiR+7C-;tc_NUNzpl|xBZ*QnMe&FPQ z+uSDJQ7jC*zKw2}{ptj~3H6?tC{$_H75Kh}P_qwz{l+Oz-Qy_I&0Qa;hqjIZjzg;{;r+05UM2^rioySy8M4OM!2SN5vC+ad)nmuM*a>?=9qdmXcN zaG(73bAAsfEP;>o1kMi({oJ=e#E$gpol4X=@P+_d$&io|5*wuUjdRb=I4#fr7xx*wI;q;j#r?Nzj-#(*vca5MD&k0 zA^BM)jc2FeU|<1Ww94tWO}xDU(Eik)Y$cKju#c~phToXF<2sU`U-EalUXMAv;0K~d zEdkhL zTQUc#W6UjAGo%XU>}=qdETt7u0D3I4-X!LMbP>&b%mt>>Y74#tM9Y{Zj1jo${nZEX z_Q-&2HnUP8JkV@b6=qq~!i@0N0762A_^QQ;gOQ~W@M0lB3Ubgu6AzuX73DHGaz4K( z$%!c?3>>p+goSQfPax&z%!nzsrrX+Uds?ZHzChb%0^!Fn8&lm{#c&agIpy>EC{Gd< zP8^3)3-JY5J6SO7iIwNX^-RTHTuj&yl&TNt>Xi@f`1kt#p#Z)=9%})~w;)?lOj&jg z23TndWly;wR?e~eJG{LT5uJeK#m~yUfRAO6_q55`#7Z6%#fw-ev#auJ0+K%E=GEe4 z4qRr>ipAvv1$9uf{sF4Ehi90yYA_MH6h`^VraX;zPTo*d^hTGus~9n|0)3sO2peJn zPHczxS&(g|-3fSB=9qzP$+A>I)q1eSAo<&%$W6JR&p^>VqaVmaj>k5l$?5n7EKk4$ zxdg*(zIGsm<$b!2IOg_qwF{60lT=HW$>8|1rbx`ktz#UlwF|`3#L7)BUZy5q-0CjQ)*iRXy z9oIqndTFd_JvSQpQcj)G1}ra5{Q)4A?IF+aYX|~k64iVq7GSG@QxF2dpLARD!}R`A z<2EyI5z@@BXb2xgScdPK1F*Mzo8kf6-T}DV=wxjw;0l6N6{bgro!=tnrStlZz86?E zmwaiT_azFZ7tTgtM-imH1M0~xPQ>- z>-@)JkMMornvz7DkGH$T3jLdQX5IbSb1aK25wXZ!Z{UT>HhI1p39#YfzH&F8WSs}AC(Fku8Fugo1H!;2v`d?hzbg4kQ@(@C0M`*7NQb-Q% zJCQQJ4p^(hGO4|!8GBWKhi7o_ zdHeEr{jWIym1V-YAs))c0o+S4(_1}`x=D=%fll5({uW@3$u^acm|9RSh56_@y@pkL z98ORZJ;2L1fH&bIqSWNINbAVRvzOfdJ29TB2kNpR;+_Gx19|WMp+5TTtfXSV?+4KY z;F5iQuWWyZJM_>~_s}Z%6&{_?FXoU(IOhA8!2Rx1$Bch>Jl;2n=Kf!t_WzH5$#fbVNS2sItm66HrP{|{~xftdgR literal 0 HcmV?d00001 diff --git a/docs/media/wx.jpeg b/docs/media/wx.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1ac95eca29b6330daf2909b86a5425a3879cf0d5 GIT binary patch literal 40095 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