diff --git a/docs/dist/bundle.css b/docs/dist/bundle.css
index 2b0a7391b..1319ea06a 100644
--- a/docs/dist/bundle.css
+++ b/docs/dist/bundle.css
@@ -1,2 +1,2 @@
@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:999999}.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}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.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;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #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: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{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .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:20}.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 0 0 15px;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.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.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:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{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:80%;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;width:1px;min-width:100%}.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}.markdown-section ul.task-list>li{list-style-type:none}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{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}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-radius:2rem;border:1px solid var(--theme-color,#42b983);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}.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,.markdown-section output:after,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section code,.markdown-section pre{background-color:#f8f8f8}.markdown-section output,.markdown-section pre{margin:1.2em 0;position:relative}.markdown-section output,.markdown-section pre>code{border-radius:2px;display:block}.markdown-section output:after,.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{padding:0 1.4rem;line-height:1.5rem;overflow:auto;word-wrap:normal}.markdown-section pre>code{color:#525252;font-size:.8rem;padding:2.2em 5px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;white-space:inherit}.markdown-section output{padding:1.7rem 1.4rem;border:1px dotted #ccc}.markdown-section output>:first-child{margin-top:0}.markdown-section output>:last-child{margin-bottom:0}.markdown-section code:after,.markdown-section code:before,.markdown-section output:after,.markdown-section output:before{letter-spacing:.05rem}.markdown-section output:after,.markdown-section pre:after{color:#ccc;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0;content:attr(data-lang)}.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.function,.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}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}
+*{-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:999999}.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{color:var(--theme-color,#42b983);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}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.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:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983);color:var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #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: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{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .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:20}.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 0 0 15px;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.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.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:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{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:80%;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;width:1px;min-width:100%}.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 tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{background-color:#f8f8f8;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}.markdown-section ul.task-list>li{list-style-type:none}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;min-height:100vh;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{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit;text-decoration:none}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-radius:2rem;border:1px solid var(--theme-color,#42b983);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}.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,.markdown-section output:after,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section code,.markdown-section pre{background-color:#f8f8f8}.markdown-section output,.markdown-section pre{margin:1.2em 0;position:relative}.markdown-section output,.markdown-section pre>code{border-radius:2px;display:block}.markdown-section output:after,.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{padding:0 1.4rem;line-height:1.5rem;overflow:auto;word-wrap:normal}.markdown-section pre>code{color:#525252;font-size:.8rem;padding:2.2em 5px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;white-space:inherit}.markdown-section output{padding:1.7rem 1.4rem;border:1px dotted #ccc}.markdown-section output>:first-child{margin-top:0}.markdown-section output>:last-child{margin-bottom:0}.markdown-section code:after,.markdown-section code:before,.markdown-section output:after,.markdown-section output:before{letter-spacing:.05rem}.markdown-section output:after,.markdown-section pre:after{color:#ccc;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section output:after,.markdown-section pre:after{content:attr(data-lang)}.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.function,.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}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}
diff --git a/docs/dist/bundle.js b/docs/dist/bundle.js
index fd755b9cd..d812fc5d8 100644
--- a/docs/dist/bundle.js
+++ b/docs/dist/bundle.js
@@ -1,2 +1,2 @@
/*! For license information please see bundle.js.LICENSE.txt */
-(()=>{var e={669:(e,n,t)=>{e.exports=t(609)},448:(e,n,t)=>{"use strict";var r=t(867),i=t(26),o=t(372),a=t(327),u=t(97),c=t(109),f=t(985),s=t(61);e.exports=function(e){return new Promise((function(n,t){var l=e.data,d=e.headers,p=e.responseType;r.isFormData(l)&&delete d["Content-Type"];var h=new XMLHttpRequest;if(e.auth){var g=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(g+":"+m)}var _=u(e.baseURL,e.url);function b(){if(h){var r="getAllResponseHeaders"in h?c(h.getAllResponseHeaders()):null,o={data:p&&"text"!==p&&"json"!==p?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:r,config:e,request:h};i(n,t,o),h=null}}if(h.open(e.method.toUpperCase(),a(_,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,"onloadend"in h?h.onloadend=b:h.onreadystatechange=function(){h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))&&setTimeout(b)},h.onabort=function(){h&&(t(s("Request aborted",e,"ECONNABORTED",h)),h=null)},h.onerror=function(){t(s("Network Error",e,null,h)),h=null},h.ontimeout=function(){var n="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(n=e.timeoutErrorMessage),t(s(n,e,e.transitional&&e.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||f(_))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}"setRequestHeader"in h&&r.forEach(d,(function(e,n){void 0===l&&"content-type"===n.toLowerCase()?delete d[n]:h.setRequestHeader(n,e)})),r.isUndefined(e.withCredentials)||(h.withCredentials=!!e.withCredentials),p&&"json"!==p&&(h.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){h&&(h.abort(),t(e),h=null)})),l||(l=null),h.send(l)}))}},609:(e,n,t)=>{"use strict";var r=t(867),i=t(849),o=t(321),a=t(185);function u(e){var n=new o(e),t=i(o.prototype.request,n);return r.extend(t,o.prototype,n),r.extend(t,n),t}var c=u(t(655));c.Axios=o,c.create=function(e){return u(a(c.defaults,e))},c.Cancel=t(263),c.CancelToken=t(972),c.isCancel=t(502),c.all=function(e){return Promise.all(e)},c.spread=t(713),c.isAxiosError=t(268),e.exports=c,e.exports.default=c},263:e=>{"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},972:(e,n,t)=>{"use strict";var r=t(263);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(e){n=e}));var t=this;e((function(e){t.reason||(t.reason=new r(e),n(t.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(n){e=n})),cancel:e}},e.exports=i},502:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},321:(e,n,t)=>{"use strict";var r=t(867),i=t(327),o=t(782),a=t(572),u=t(185),c=t(875),f=c.validators;function s(e){this.defaults=e,this.interceptors={request:new o,response:new o}}s.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var n=e.transitional;void 0!==n&&c.assertOptions(n,{silentJSONParsing:f.transitional(f.boolean,"1.0.0"),forcedJSONParsing:f.transitional(f.boolean,"1.0.0"),clarifyTimeoutError:f.transitional(f.boolean,"1.0.0")},!1);var t=[],r=!0;this.interceptors.request.forEach((function(n){"function"==typeof n.runWhen&&!1===n.runWhen(e)||(r=r&&n.synchronous,t.unshift(n.fulfilled,n.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!r){var s=[a,void 0];for(Array.prototype.unshift.apply(s,t),s=s.concat(o),i=Promise.resolve(e);s.length;)i=i.then(s.shift(),s.shift());return i}for(var l=e;t.length;){var d=t.shift(),p=t.shift();try{l=d(l)}catch(e){p(e);break}}try{i=a(l)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},s.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){s.prototype[e]=function(n,t){return this.request(u(t||{},{method:e,url:n,data:(t||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){s.prototype[e]=function(n,t,r){return this.request(u(r||{},{method:e,url:n,data:t}))}})),e.exports=s},782:(e,n,t)=>{"use strict";var r=t(867);function i(){this.handlers=[]}i.prototype.use=function(e,n,t){return this.handlers.push({fulfilled:e,rejected:n,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){r.forEach(this.handlers,(function(n){null!==n&&e(n)}))},e.exports=i},97:(e,n,t)=>{"use strict";var r=t(793),i=t(303);e.exports=function(e,n){return e&&!r(n)?i(e,n):n}},61:(e,n,t)=>{"use strict";var r=t(481);e.exports=function(e,n,t,i,o){var a=new Error(e);return r(a,n,t,i,o)}},572:(e,n,t)=>{"use strict";var r=t(867),i=t(527),o=t(502),a=t(655);function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return u(e),e.headers=e.headers||{},e.data=i.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(n){delete e.headers[n]})),(e.adapter||a.adapter)(e).then((function(n){return u(e),n.data=i.call(e,n.data,n.headers,e.transformResponse),n}),(function(n){return o(n)||(u(e),n&&n.response&&(n.response.data=i.call(e,n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)}))}},481:e=>{"use strict";e.exports=function(e,n,t,r,i){return e.config=n,t&&(e.code=t),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},185:(e,n,t)=>{"use strict";var r=t(867);e.exports=function(e,n){n=n||{};var t={},i=["url","method","data"],o=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],u=["validateStatus"];function c(e,n){return r.isPlainObject(e)&&r.isPlainObject(n)?r.merge(e,n):r.isPlainObject(n)?r.merge({},n):r.isArray(n)?n.slice():n}function f(i){r.isUndefined(n[i])?r.isUndefined(e[i])||(t[i]=c(void 0,e[i])):t[i]=c(e[i],n[i])}r.forEach(i,(function(e){r.isUndefined(n[e])||(t[e]=c(void 0,n[e]))})),r.forEach(o,f),r.forEach(a,(function(i){r.isUndefined(n[i])?r.isUndefined(e[i])||(t[i]=c(void 0,e[i])):t[i]=c(void 0,n[i])})),r.forEach(u,(function(r){r in n?t[r]=c(e[r],n[r]):r in e&&(t[r]=c(void 0,e[r]))}));var s=i.concat(o).concat(a).concat(u),l=Object.keys(e).concat(Object.keys(n)).filter((function(e){return-1===s.indexOf(e)}));return r.forEach(l,f),t}},26:(e,n,t)=>{"use strict";var r=t(61);e.exports=function(e,n,t){var i=t.config.validateStatus;t.status&&i&&!i(t.status)?n(r("Request failed with status code "+t.status,t.config,null,t.request,t)):e(t)}},527:(e,n,t)=>{"use strict";var r=t(867),i=t(655);e.exports=function(e,n,t){var o=this||i;return r.forEach(t,(function(t){e=t.call(o,e,n)})),e}},655:(e,n,t)=>{"use strict";var r=t(867),i=t(16),o=t(481),a={"Content-Type":"application/x-www-form-urlencoded"};function u(e,n){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=n)}var c,f={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=t(448)),c),transformRequest:[function(e,n){return i(n,"Accept"),i(n,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(u(n,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)||n&&"application/json"===n["Content-Type"]?(u(n,"application/json"),function(e,n,t){if(r.isString(e))try{return(0,JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var n=this.transitional,t=n&&n.silentJSONParsing,i=n&&n.forcedJSONParsing,a=!t&&"json"===this.responseType;if(a||i&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(a){if("SyntaxError"===e.name)throw o(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){f.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){f.headers[e]=r.merge(a)})),e.exports=f},849:e=>{"use strict";e.exports=function(e,n){return function(){for(var t=new Array(arguments.length),r=0;r "']/),pn=/[&<>"']/g,hn=/[<>"']|&(?!#?\w+;)/,gn=/[<>"']|&(?!#?\w+;)/g,mn={"&":"&","<":"<",">":">",'"':""","'":"'"},_n=function(e){return mn[e]},bn=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function vn(e){return e.replace(bn,(function(e,n){return"colon"===(n=n.toLowerCase())?":":"#"===n.charAt(0)?"x"===n.charAt(1)?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""}))}var yn=/(^|[^\[])\^/g,wn=/[^\w:]/g,kn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,xn={},Sn=/^[^:]+:\/*[^/]*$/,An=/^([^:]+:)[\s\S]*$/,En=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Tn(e,n,t){var r=e.length;if(0===r)return"";for(var i=0;i "+e+"
\n":"'+(t?e:et(e,!0))+"
\n"},e.prototype.blockquote=function(e){return""+(t?e:et(e,!0))+"\n"+e+"
\n"},e.prototype.html=function(e){return e},e.prototype.heading=function(e,n,t,r){return this.options.headerIds?"
\n":"
\n"},e.prototype.list=function(e,n,t){var r=n?"ol":"ul";return"<"+r+(n&&1!==t?' start="'+t+'"':"")+">\n"+e+""+r+">\n"},e.prototype.listitem=function(e){return"\n\n"+e+"\n"+n+"
\n"},e.prototype.tablerow=function(e){return"\n"+e+" \n"},e.prototype.tablecell=function(e,n){var t=n.header?"th":"td";return(n.align?"<"+t+' align="'+n.align+'">':"<"+t+">")+e+""+t+">\n"},e.prototype.strong=function(e){return""+e+""},e.prototype.em=function(e){return""+e+""},e.prototype.codespan=function(e){return""+e+""},e.prototype.br=function(){return this.options.xhtml?"
":"
"},e.prototype.del=function(e){return""+e+""},e.prototype.link=function(e,n,t){if(null===(e=Qn(this.options.sanitize,this.options.baseUrl,e)))return t;var r='"+t+""},e.prototype.image=function(e,n,t){if(null===(e=Qn(this.options.sanitize,this.options.baseUrl,e)))return t;var r='":">")},e.prototype.text=function(e){return e},e}(),tt=function(){function e(){}return e.prototype.strong=function(e){return e},e.prototype.em=function(e){return e},e.prototype.codespan=function(e){return e},e.prototype.del=function(e){return e},e.prototype.html=function(e){return e},e.prototype.text=function(e){return e},e.prototype.link=function(e,n,t){return""+t},e.prototype.image=function(e,n,t){return""+t},e.prototype.br=function(){return""},e}(),rt=function(){function e(){this.seen={}}return e.prototype.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.prototype.getNextSafeSlug=function(e,n){var t=e,r=0;if(this.seen.hasOwnProperty(t)){r=this.seen[e];do{t=e+"-"+ ++r}while(this.seen.hasOwnProperty(t))}return n||(this.seen[e]=r,this.seen[t]=0),t},e.prototype.slug=function(e,n){void 0===n&&(n={});var t=this.serialize(e);return this.getNextSafeSlug(t,n.dryrun)},e}(),it=ln.defaults,ot=Rn,at=function(){function e(e){this.options=e||it,this.options.renderer=this.options.renderer||new nt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new tt,this.slugger=new rt}return e.parse=function(n,t){return new e(t).parse(n)},e.parseInline=function(n,t){return new e(t).parseInline(n)},e.prototype.parse=function(e,n){void 0===n&&(n=!0);var t,r,i,o,a,u,c,f,s,l,d,p,h,g,m,_,b,v,y="",w=e.length;for(t=0;t
"+ft(e.message+"",!0)+"
";throw e}}pt.options=pt.setOptions=function(e){return ut(pt.defaults,e),lt(pt.defaults),pt},pt.getDefaults=st,pt.defaults=dt,pt.use=function(e){var n=ut({},e);if(e.renderer){var t=pt.defaults.renderer||new nt,r=function(n){var r=t[n];t[n]=function(){for(var i=[],o=arguments.length;o--;)i[o]=arguments[o];var a=e.renderer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var i in e.renderer)r(i);n.renderer=t}if(e.tokenizer){var o=pt.defaults.tokenizer||new Pn,a=function(n){var t=o[u];o[u]=function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i=e.tokenizer[u].apply(o,n);return!1===i&&(i=t.apply(o,n)),i}};for(var u in e.tokenizer)a();n.tokenizer=o}if(e.walkTokens){var c=pt.defaults.walkTokens;n.walkTokens=function(n){e.walkTokens(n),c&&c(n)}}pt.setOptions(n)},pt.walkTokens=function(e,n){for(var t=0,r=e;t
"+ft(e.message+"",!0)+"";throw e}},pt.Parser=at,pt.parser=at.parse,pt.Renderer=nt,pt.TextRenderer=tt,pt.Lexer=Jn,pt.lexer=Jn.lex,pt.Tokenizer=Pn,pt.Slugger=rt,pt.parse=pt;var ht=pt;function gt(e,n){if(void 0===n&&(n=''),!e||!e.length)return"";var t="";return e.forEach((function(e){var r=e.title.replace(/(<([^>]+)>)/g,"");t+='
'+n.slice(5).trim()+"
"}function _t(e,n){var t=[],r={};return e.forEach((function(e){var i=e.level||1,o=i-1;i>n||(r[o]?r[o].children=(r[o].children||[]).concat(e):t.push(e),r[i]=e)})),t}var bt={},vt=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;function yt(e){return e.toLowerCase()}function wt(e){if("string"!=typeof e)return"";var n=e.trim().replace(/[A-Z]+/g,yt).replace(/<[^>]+>/g,"").replace(vt,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),t=bt[n];return t=r.call(bt,n)?t+1:0,bt[n]=t,t&&(n=n+"-"+t),n}function kt(e,n){return''+At.highlight(e.replace(/@DOCSIFY_QM@/g,"`"),t,n)+""}}({renderer:e}),u.link=function(e){var n=e.router,t=e.linkTarget,r=e.linkRel,i=e.compilerClass;return e.renderer.link=function(e,o,a){void 0===o&&(o="");var u=[],c=xt(o),f=c.str,s=c.config;return t=s.target||t,r="_blank"===t?i.config.externalLinkRel||"noopener":"",o=f,Fe(e)||i._matchNotCompileLink(e)||s.ignore?(Fe(e)||"./"!==e.slice(0,2)||(e=document.URL.replace(/\/(?!.*\/).*/,"/").replace("#/./","")+e),u.push(0===e.indexOf("mailto:")?"":'target="'+t+'"'),u.push(0===e.indexOf("mailto:")?"":""!==r?' rel="'+r+'"':"")):(e===i.config.homepage&&(e="README"),e=n.toURL(e,null,n.getCurrentPath())),s.crossorgin&&"_self"===t&&"history"===i.config.routerMode&&-1===i.config.crossOriginLinks.indexOf(e)&&i.config.crossOriginLinks.push(e),s.disabled&&(u.push("disabled"),e="javascript:void(0)"),s.class&&u.push('class="'+s.class+'"'),s.id&&u.push('id="'+s.id+'"'),o&&u.push('title="'+o+'"'),'"+a+""}}({renderer:e,router:i,linkTarget:t,linkRel:r,compilerClass:a}),u.paragraph=function(e){return e.renderer.paragraph=function(e){return/^!>/.test(e)?mt("tip",e):/^\?>/.test(e)?mt("warn",e):""+e+"
"}}({renderer:e}),u.image=function(e){var n=e.contentBase,t=e.router;return e.renderer.image=function(e,r,i){var o=e,a=[],u=xt(r),c=u.str,f=u.config;if(r=c,f["no-zoom"]&&a.push("data-no-zoom"),r&&a.push('title="'+r+'"'),f.size){var s=f.size.split("x"),l=s[0],d=s[1];d?a.push('width="'+l+'" height="'+d+'"'):a.push('width="'+l+'"')}return f.class&&a.push('class="'+f.class+'"'),f.id&&a.push('id="'+f.id+'"'),Fe(e)||(o=We(n,qe(t.getCurrentPath()),e)),a.length>0?'"+e.content+"
\n\n"})),r.classList.add("show"),i.classList.add("show"),r.innerHTML=l||''+c+"
",u.hideOtherSidebarContent&&(a.classList.add("hide"),f.classList.add("hide"))}function s(e){u=e}var l={placeholder:"Type to search",noData:"No Results!",paths:"auto",depth:2,maxAge:864e5,hideOtherSidebarContent:!1,namespace:void 0,pathNamespaces:void 0};$docsify.plugins=[].concat((function(e,n){var t=Docsify.util,r=n.config.search||l;Array.isArray(r)?l.paths=r:"object"==typeof r&&(l.paths=Array.isArray(r.paths)?r.paths:"auto",l.maxAge=t.isPrimitive(r.maxAge)?r.maxAge:l.maxAge,l.placeholder=r.placeholder||l.placeholder,l.noData=r.noData||l.noData,l.depth=r.depth||l.depth,l.hideOtherSidebarContent=r.hideOtherSidebarContent||l.hideOtherSidebarContent,l.namespace=r.namespace||l.namespace,l.pathNamespaces=r.pathNamespaces||l.pathNamespaces);var i="auto"===l.paths;e.mounted((function(e){(function(e,n){var t,r,i,o,a=n.router.parse().query.s;s(e),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 border: 1px solid transparent;\n}\n\n.search input:focus {\n box-shadow: 0 0 5px var(--theme-color, #42b983);\n border: 1px solid var(--theme-color, #42b983);\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 cursor: pointer;\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}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}"),function(e){void 0===e&&(e="");var n='"']/),vn=/[&<>"']/g,yn=/[<>"']|&(?!#?\w+;)/,wn=/[<>"']|&(?!#?\w+;)/g,kn={"&":"&","<":"<",">":">",'"':""","'":"'"},xn=function(e){return kn[e]},Sn=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function An(e){return e.replace(Sn,(function(e,n){return"colon"===(n=n.toLowerCase())?":":"#"===n.charAt(0)?"x"===n.charAt(1)?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""}))}var En=/(^|[^\[])\^/g,Tn=/[^\w:]/g,On=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,Rn={},zn=/^[^:]+:\/*[^/]*$/,jn=/^([^:]+:)[\s\S]*$/,Cn=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ln(e,n,t){var r=e.length;if(0===r)return"";for(var i=0;i "+e+"
\n":"'+(t?e:at(e,!0))+"
\n"},e.prototype.blockquote=function(e){return""+(t?e:at(e,!0))+"\n"+e+"
\n"},e.prototype.html=function(e){return e},e.prototype.heading=function(e,n,t,r){return this.options.headerIds?"
\n":"
\n"},e.prototype.list=function(e,n,t){var r=n?"ol":"ul";return"<"+r+(n&&1!==t?' start="'+t+'"':"")+">\n"+e+""+r+">\n"},e.prototype.listitem=function(e){return"\n\n"+e+"\n"+n+"
\n"},e.prototype.tablerow=function(e){return"\n"+e+" \n"},e.prototype.tablecell=function(e,n){var t=n.header?"th":"td";return(n.align?"<"+t+' align="'+n.align+'">':"<"+t+">")+e+""+t+">\n"},e.prototype.strong=function(e){return""+e+""},e.prototype.em=function(e){return""+e+""},e.prototype.codespan=function(e){return""+e+""},e.prototype.br=function(){return this.options.xhtml?"
":"
"},e.prototype.del=function(e){return""+e+""},e.prototype.link=function(e,n,t){if(null===(e=ot(this.options.sanitize,this.options.baseUrl,e)))return t;var r='"+t+""},e.prototype.image=function(e,n,t){if(null===(e=ot(this.options.sanitize,this.options.baseUrl,e)))return t;var r='":">")},e.prototype.text=function(e){return e},e}(),ct=function(){function e(){}return e.prototype.strong=function(e){return e},e.prototype.em=function(e){return e},e.prototype.codespan=function(e){return e},e.prototype.del=function(e){return e},e.prototype.html=function(e){return e},e.prototype.text=function(e){return e},e.prototype.link=function(e,n,t){return""+t},e.prototype.image=function(e,n,t){return""+t},e.prototype.br=function(){return""},e}(),ft=function(){function e(){this.seen={}}return e.prototype.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.prototype.getNextSafeSlug=function(e,n){var t=e,r=0;if(this.seen.hasOwnProperty(t)){r=this.seen[e];do{t=e+"-"+ ++r}while(this.seen.hasOwnProperty(t))}return n||(this.seen[e]=r,this.seen[t]=0),t},e.prototype.slug=function(e,n){void 0===n&&(n={});var t=this.serialize(e);return this.getNextSafeSlug(t,n.dryrun)},e}(),st=_n.defaults,lt=$n,dt=function(){function e(e){this.options=e||st,this.options.renderer=this.options.renderer||new ut,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ct,this.slugger=new ft}return e.parse=function(n,t){return new e(t).parse(n)},e.parseInline=function(n,t){return new e(t).parseInline(n)},e.prototype.parse=function(e,n){void 0===n&&(n=!0);var t,r,i,o,a,u,c,f,s,l,d,p,h,g,m,_,b,v,y="",w=e.length;for(t=0;t
"+gt(e.message+"",!0)+"";throw e}}vt.options=vt.setOptions=function(e){return pt(vt.defaults,e),_t(vt.defaults),vt},vt.getDefaults=mt,vt.defaults=bt,vt.use=function(e){var n=pt({},e);if(e.renderer){var t=vt.defaults.renderer||new ut,r=function(n){var r=t[n];t[n]=function(){for(var i=[],o=arguments.length;o--;)i[o]=arguments[o];var a=e.renderer[n].apply(t,i);return!1===a&&(a=r.apply(t,i)),a}};for(var i in e.renderer)r(i);n.renderer=t}if(e.tokenizer){var o=vt.defaults.tokenizer||new Hn,a=function(n){var t=o[u];o[u]=function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i=e.tokenizer[u].apply(o,n);return!1===i&&(i=t.apply(o,n)),i}};for(var u in e.tokenizer)a();n.tokenizer=o}if(e.walkTokens){var c=vt.defaults.walkTokens;n.walkTokens=function(n){e.walkTokens(n),c&&c(n)}}vt.setOptions(n)},vt.walkTokens=function(e,n){for(var t=0,r=e;t
"+gt(e.message+"",!0)+"";throw e}},vt.Parser=dt,vt.parser=dt.parse,vt.Renderer=ut,vt.TextRenderer=ct,vt.Lexer=rt,vt.lexer=rt.lex,vt.Tokenizer=Hn,vt.Slugger=ft,vt.parse=vt;var yt=vt;function wt(e,n){if(void 0===n&&(n=''),!e||!e.length)return"";var t="";return e.forEach((function(e){var r=e.title.replace(/(<([^>]+)>)/g,"");t+='
'+n.slice(5).trim()+"
"}function xt(e,n){var t=[],r={};return e.forEach((function(e){var i=e.level||1,o=i-1;i>n||(r[o]?r[o].children=(r[o].children||[]).concat(e):t.push(e),r[i]=e)})),t}var St={},At=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;function Et(e){return e.toLowerCase()}function Tt(e){if("string"!=typeof e)return"";var n=e.trim().replace(/[A-Z]+/g,Et).replace(/<[^>]+>/g,"").replace(At,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),t=St[n];return t=r.call(St,n)?t+1:0,St[n]=t,t&&(n=n+"-"+t),n}function Ot(e,n){return''+jt.highlight(e.replace(/@DOCSIFY_QM@/g,"`"),t,n)+""}}({renderer:e}),u.link=function(e){var n=e.router,t=e.linkTarget,r=e.linkRel,i=e.compilerClass;return e.renderer.link=function(e,o,a){void 0===o&&(o="");var u=[],c=Rt(o),f=c.str,s=c.config;return t=s.target||t,r="_blank"===t?i.config.externalLinkRel||"noopener":"",o=f,z(e)||i._matchNotCompileLink(e)||s.ignore?(z(e)||"./"!==e.slice(0,2)||(e=document.URL.replace(/\/(?!.*\/).*/,"/").replace("#/./","")+e),u.push(0===e.indexOf("mailto:")?"":'target="'+t+'"'),u.push(0===e.indexOf("mailto:")?"":""!==r?' rel="'+r+'"':"")):(e===i.config.homepage&&(e="README"),e=n.toURL(e,null,n.getCurrentPath())),s.crossorgin&&"_self"===t&&"history"===i.config.routerMode&&-1===i.config.crossOriginLinks.indexOf(e)&&i.config.crossOriginLinks.push(e),s.disabled&&(u.push("disabled"),e="javascript:void(0)"),s.class&&u.push('class="'+s.class+'"'),s.id&&u.push('id="'+s.id+'"'),o&&u.push('title="'+o+'"'),'"+a+""}}({renderer:e,router:i,linkTarget:t,linkRel:r,compilerClass:a}),u.paragraph=function(e){return e.renderer.paragraph=function(e){return/^!>/.test(e)?kt("tip",e):/^\?>/.test(e)?kt("warn",e):""+e+"
"}}({renderer:e}),u.image=function(e){var n=e.contentBase,t=e.router;return e.renderer.image=function(e,r,i){var o=e,a=[],u=Rt(r),c=u.str,f=u.config;if(r=c,f["no-zoom"]&&a.push("data-no-zoom"),r&&a.push('title="'+r+'"'),f.size){var s=f.size.split("x"),l=s[0],d=s[1];d?a.push('width="'+l+'" height="'+d+'"'):a.push('width="'+l+'"')}return f.class&&a.push('class="'+f.class+'"'),f.id&&a.push('id="'+f.id+'"'),z(e)||(o=I(n,C(t.getCurrentPath()),e)),a.length>0?'"+e.content+"
\n\n"})),i.classList.add("show"),o.classList.add("show"),i.innerHTML=d||''+f+"
",c.hideOtherSidebarContent&&(u&&u.classList.add("hide"),s&&s.classList.add("hide"))}function l(e){c=e}var d={placeholder:"Type to search",noData:"No Results!",paths:"auto",depth:2,maxAge:864e5,hideOtherSidebarContent:!1,namespace:void 0,pathNamespaces:void 0};$docsify.plugins=[].concat((function(e,n){var t=Docsify.util,r=n.config.search||d;Array.isArray(r)?d.paths=r:"object"==typeof r&&(d.paths=Array.isArray(r.paths)?r.paths:"auto",d.maxAge=t.isPrimitive(r.maxAge)?r.maxAge:d.maxAge,d.placeholder=r.placeholder||d.placeholder,d.noData=r.noData||d.noData,d.depth=r.depth||d.depth,d.hideOtherSidebarContent=r.hideOtherSidebarContent||d.hideOtherSidebarContent,d.namespace=r.namespace||d.namespace,d.pathNamespaces=r.pathNamespaces||d.pathNamespaces);var i="auto"===d.paths;e.mounted((function(e){(function(e,n){var t,r,i,o,a=n.router.parse().query.s;l(e),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 border: 1px solid transparent;\n}\n\n.search input:focus {\n box-shadow: 0 0 5px var(--theme-color, #42b983);\n border: 1px solid var(--theme-color, #42b983);\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 cursor: pointer;\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}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}"),function(e){void 0===e&&(e="");var n='