提交 2f102489 authored 作者: 王承军's avatar 王承军

init

上级
流水线 #557 已取消 于阶段
<!DOCTYPE html>
<html>
<head>
<title>Error</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>An error occurred.</h1>
<p>Sorry, the page you are looking for is currently unavailable.<br/>
Please try again later.</p>
<p>If you are the system administrator of this resource then you should check
the error log for details.</p>
<p><em>Faithfully yours, nginx.</em></p>
</body>
</html>
# UBAINS 远程实验室
| 版本 | 发布日期 | 修改说明 |
| ----- | ---------- | ------------------------------------------------------------ |
| 1.0.0 | 2021-11-9 | 上线,第一次发布 |
| 1.1.0 | 2021-11-22 | 1. 移除了Windows 7物理机,改用Vmware部署Windos 7<br />2.减少了常供电设备,只保留了中控、网络、灯光常供电,系统可完全关闭<br />3.将中控AIO-3208换成EC-8000<br />4.在Windows上增加了矩阵切换软件<br />5.取消了UT-10的触摸屏常供电,改用时序电源供电。<br />6.文档中增加了系统图设备清单,修改了几处,增加了WEB版文档<br />7.调整了灯光供电和位置,确保在晚上实验室人员下班后您还可以继续使用,能通过控制灯光开关来看清楚设备状态 |
##### Admiral
a commander of a fleet or naval squadron, or a naval officer of very high rank.
##### Yellow Jack
another term for yellow flag
* [:us:, :uk:](/)
* [:cn:](/zh-cn/)
\ No newline at end of file
* [介绍](远程实验环境介绍.md)
* [如何接入](如何接入远程实验室.md)
* [接入故障排除](接入远程实验室故障排除.md)
* [远程桌面](远程桌面.md)
* [接入须知(重要)](接入须知(重要).md)
* [设备信息](设备信息表.md)
* [查看视频信号](查看视频信号.md)
* [系统图](系统图.md)
* [使用安卓触摸屏](使用安卓触摸屏.md)
* [设备清单](设备清单.md)
* [UBAISN程序上传说明](ubains程序上传说明.md)
* [中控固件升级](ubains固件升级.md)
* [如何导出中控日志](如何导出中控日志.md)
* [如何查看中控日志](如何查看中控日志.md)
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>手册</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="src/vue.css">
</head>
<body>
<div id="app"></div>
<script>
window.$docsify = {
loadSidebar: true, //加载侧导航
autoHeader: true, // 同时设置 loadSidebar 和 autoHeader 后,可以根据 _sidebar.md 的内容自动为每个页面增加标题。
mergeNavbar: true, // 小屏设备下合并导航栏到侧边栏。
loadNavbar: false, // 配置顶部导航栏
subMaxLevel: 2, //加载标题等级
auto2top: true, //切换页面后是否自动跳转到页面顶部。默认值: false
logo: '/src/ubains.ico', // logo
name: '<span>远程实验室使用手册</span>', // 可以是html代码
repo: '',
search: {
paths: 'auto', // or 'auto' 搜索配置
placeholder: '搜索',
noData: '没有结果!',
},
copyCode: {
buttonText: '点击复制',
errorText: '错误',
successText: '已复制'
},
pagination: {
previousText: '上一章节',
nextText: '下一章节',
crossChapter: true,
crossChapterText: true,
},
count: {
countable: true,
fontsize: '0.9em',
color: 'rgb(90,90,90)',
language: 'chinese'
},
tabs: {
persist: true, // default true 确定在页面刷新/重新访问后是否恢复选项卡选择。
sync: true, // default true 确定选项卡选择是否将在具有匹配标签的选项卡之间同步。文档中多个tabs
theme: 'classic', // default 'classic' 设置标签主题 'classic', 'material',false
tabComments: true, // default true 选项卡注释
tabHeadings: true // default true 确定是否可以使用标题 + 粗体降价定义选项卡集中的选项卡。
},
formatUpdated: '{YYYY}/{MM}/{DD} {HH}:{mm}:{ss}', // 通过 {docsify-updated} 变量显示文档更新日期.
// You just have to copy it to Your own html File
markdown: {
renderer: {
code: function (code, lang) {
if (lang === 'drawio') {
if (window.drawioConverter) {
console.log('drawio 转化中')
return window.drawioConverter(code)
} else {
return `<div class='drawio-code'>${code}</div>`
}
}else {
return this.origin.code.apply(this, arguments);
}
}
}
},
themeable: {
readyTransition: true, // default
responsiveTables: true // default
}
}
</script>
<!-- Docsify v4 -->
<script src="src/docsify.js"></script>
<!-- zoom-image.min 是图片缩放 -->
<script src="/src/zoom-image.min.js"></script>
<!-- 搜索插件 -->
<script src="/src/search.min.js"></script>
<!-- emoji表情 -->
<script src="/src/emoji.min.js"></script>
<!-- 复制插件 -->
<script src="/src/docsify-copy-code.min.js"></script>
<!-- 分页导航插件 -->
<script src="/src/docsify-pagination.min.js"></script>
<!-- 为docsify提供文字统计的插件 -->
<script src="/src/countable.js"></script>
<!-- 这个插件用来在 Markdown 中显示选项卡 -->
<script src="/src/docsify-tabs.js"></script>
<!-- 这个插件用来链接到 术语 在根目录创建 _glossary.md 文件 里面用来写术语-->
<!-- 术语必须以 ##### 为谓词才能被词汇表认可,文档中的术语必须用空格包围才能被正则表达式替换,术语将按照它们在词汇表文件中出现的顺序替换为链接 -->
<script src="/src/docsify-glossary.min.js"></script>
<!-- 可以将 drawio xml 数据转换为文档中的图片 -->
<script src="/src/viewer.min.js"></script>
<script src="/src/drawio.js"></script>
</body>
</html>
\ No newline at end of file
//default values
var defaultOptions = {
countable: true,
position: "top",
margin: "10px",
float: "right",
fontsize: "0.9em",
color: "rgb(90,90,90)",
language: "english",
isExpected: true,
}
// Docsify plugin functions
function plugin(hook, vm) {
if (!defaultOptions.countable) {
return
}
let wordsCount
hook.beforeEach(function (content) {
// Match regex every time you start parsing .md
wordsCount = content.match(/([\u4e00-\u9fa5]+?|[a-zA-Z0-9]+)/g).length
return content
})
hook.afterEach(function (html, next) {
let str = wordsCount + " words"
let readTime = Math.ceil(wordsCount / 400) + " min"
//Determine whether to use the Chinese style according to the attribute "language"
if (defaultOptions.language === "chinese") {
str = wordsCount + " 字"
readTime = Math.ceil(wordsCount / 400) + " 分钟"
}
//add html string
next(
`
${defaultOptions.position === "bottom" ? html : ""}
<div style="margin-${defaultOptions.position ? "bottom" : "top"}: ${
defaultOptions.margin
};">
<span style="
float: ${defaultOptions.float === "right" ? "right" : "left"};
font-size: ${defaultOptions.fontsize};
color:${defaultOptions.color};">
${str}
${defaultOptions.isExpected ? `&nbsp; | &nbsp;${readTime}` : ""}
</span>
<div style="clear: both"></div>
</div>
${defaultOptions.position !== "bottom" ? html : ""}
`
)
})
}
// Docsify plugin options
window.$docsify["count"] = Object.assign(
defaultOptions,
window.$docsify["count"]
)
window.$docsify.plugins = [].concat(plugin, window.$docsify.plugins)
/*!
* docsify-copy-code
* v2.1.1
* https://github.com/jperasmus/docsify-copy-code
* (c) 2017-2020 JP Erasmus <jperasmus11@gmail.com>
* MIT license
*/
!function(){"use strict";function s(o){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(o,e){void 0===e&&(e={});var t=e.insertAt;if(o&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===t&&n.firstChild?n.insertBefore(c,n.firstChild):n.appendChild(c),c.styleSheet?c.styleSheet.cssText=o:c.appendChild(document.createTextNode(o))}}(".docsify-copy-code-button,.docsify-copy-code-button span{cursor:pointer;transition:all .25s ease}.docsify-copy-code-button{position:absolute;z-index:1;top:0;right:0;overflow:visible;padding:.65em .8em;border:0;border-radius:0;outline:0;font-size:1em;background:grey;background:var(--theme-color,grey);color:#fff;opacity:0}.docsify-copy-code-button span{border-radius:3px;background:inherit;pointer-events:none}.docsify-copy-code-button .error,.docsify-copy-code-button .success{position:absolute;z-index:-100;top:50%;right:0;padding:.5em .65em;font-size:.825em;opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.docsify-copy-code-button.error .error,.docsify-copy-code-button.success .success{right:100%;opacity:1;-webkit-transform:translate(-115%,-50%);transform:translate(-115%,-50%)}.docsify-copy-code-button:focus,pre:hover .docsify-copy-code-button{opacity:1}"),document.querySelector('link[href*="docsify-copy-code"]')&&console.warn("[Deprecation] Link to external docsify-copy-code stylesheet is no longer necessary."),window.DocsifyCopyCodePlugin={init:function(){return function(o,e){o.ready(function(){console.warn("[Deprecation] Manually initializing docsify-copy-code using window.DocsifyCopyCodePlugin.init() is no longer necessary.")})}}},window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(o,r){o.doneEach(function(){var o=Array.apply(null,document.querySelectorAll("pre[data-lang]")),c={buttonText:"Copy to clipboard",errorText:"Error",successText:"Copied"};r.config.copyCode&&Object.keys(c).forEach(function(t){var n=r.config.copyCode[t];"string"==typeof n?c[t]=n:"object"===s(n)&&Object.keys(n).some(function(o){var e=-1<location.href.indexOf(o);return c[t]=e?n[o]:c[t],e})});var e=['<button class="docsify-copy-code-button">','<span class="label">'.concat(c.buttonText,"</span>"),'<span class="error">'.concat(c.errorText,"</span>"),'<span class="success">'.concat(c.successText,"</span>"),"</button>"].join("");o.forEach(function(o){o.insertAdjacentHTML("beforeend",e)})}),o.mounted(function(){document.querySelector(".content").addEventListener("click",function(o){if(o.target.classList.contains("docsify-copy-code-button")){var e="BUTTON"===o.target.tagName?o.target:o.target.parentNode,t=document.createRange(),n=e.parentNode.querySelector("code"),c=window.getSelection();t.selectNode(n),c.removeAllRanges(),c.addRange(t);try{document.execCommand("copy")&&(e.classList.add("success"),setTimeout(function(){e.classList.remove("success")},1e3))}catch(o){console.error("docsify-copy-code: ".concat(o)),e.classList.add("error"),setTimeout(function(){e.classList.remove("error")},1e3)}"function"==typeof(c=window.getSelection()).removeRange?c.removeRange(t):"function"==typeof c.removeAllRanges&&c.removeAllRanges()}})})}].concat(window.$docsify.plugins||[])}();
//# sourceMappingURL=docsify-copy-code.min.js.map
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),window.$docsify||(window.$docsify={}),window.$docsify.plugins=(window.$docsify.plugins||[]).concat((function(e,t){e.beforeEach((function(e,t){if(window.location.hash.match(/_glossary/g))return void t(e);let n=function(e,t,n){for(let t in n){console.log(t);let o=` [$1](/_glossary?id=${n[t]}) `,r=new RegExp(`\\s(${t})\\s`,"ig");e=e.replace(r,o)}t(e)};window.$docsify.terms?n(e,t,window.$docsify.terms):fetch("_glossary.md").then((function(o){o.text().then((function(o){window.$docsify.terms={},o.split("\n").forEach((function(e){if(e.match(/#####/g)){let t=e.replace("#####","").trim(),n=t.toLowerCase().replace(" ","-");window.$docsify.terms[t]=n}})),n(e,t,window.$docsify.terms)}))}))}))}))}]);
\ No newline at end of file
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(0,function(){"use strict";var t,p=(function(t,e){function n(t,e){return e.querySelector(t)}(e=t.exports=function(t,e){return n(t,e=e||document)}).all=function(t,e){return(e=e||document).querySelectorAll(t)},e.engine=function(t){if(!t.one)throw new Error(".one callback required");if(!t.all)throw new Error(".all callback required");return n=t.one,e.all=t.all,e}}(t={exports:{}},t.exports),t.exports);p.all,p.engine;try{var a=p}catch(t){a=p}var e=Element.prototype,r=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector,u=function(t,e){if(!t||1!==t.nodeType)return!1;if(r)return r.call(t,e);for(var n=a.all(e,t.parentNode),i=0;i<n.length;++i)if(n[i]==t)return!0;return!1};try{var i=u}catch(t){i=u}var f=function(t,e,n){n=n||document.documentElement;for(;t&&t!==n;){if(i(t,e))return t;t=t.parentNode}return i(t,e)?t:null};!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}}(".docsify-pagination-container{display:flex;flex-wrap:wrap;justify-content:space-between;overflow:hidden;margin:5em 0 1em;border-top:1px solid rgba(0,0,0,.07)}.pagination-item{margin-top:2.5em}.pagination-item a,.pagination-item a:hover{text-decoration:none}.pagination-item a{color:currentColor}.pagination-item a:hover .pagination-item-title{text-decoration:underline}.pagination-item:not(:last-child) a .pagination-item-label,.pagination-item:not(:last-child) a .pagination-item-subtitle,.pagination-item:not(:last-child) a .pagination-item-title{opacity:.3;transition:all .2s}.pagination-item:last-child .pagination-item-label,.pagination-item:not(:last-child) a:hover .pagination-item-label{opacity:.6}.pagination-item:not(:last-child) a:hover .pagination-item-title{opacity:1}.pagination-item-label{font-size:.8em}.pagination-item-label>*{line-height:1;vertical-align:middle}.pagination-item-label svg{height:.8em;width:auto;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.pagination-item--next{margin-left:auto;text-align:right}.pagination-item--next svg{margin-left:.5em}.pagination-item--previous svg{margin-right:.5em}.pagination-item-title{font-size:1.6em}.pagination-item-subtitle{text-transform:uppercase;opacity:.3}");var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},l=function(){function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},d={HASH:"hash",HISTORY:"history"},s=function(t){return{previousText:"PREVIOUS",nextText:"NEXT",crossChapter:!1,crossChapterText:!1,routerMode:t.routerMode||d.HASH}},h="docsify-pagination-container";function g(t){return Array.prototype.slice.call(t)}function m(t){return t.href?t:p("a",t)}function v(e,t){return 1===arguments.length?function(t){return v(e,t)}:decodeURIComponent(t.getAttribute("href").split("?")[0])===decodeURIComponent(e)}var y=function(){function n(t){var e;(o(this,n),t)&&(this.chapter=(e=f(t,"div > ul > li"),p("p",e)),this.hyperlink=m(t))}return l(n,[{key:"toJSON",value:function(){if(this.hyperlink)return{name:this.hyperlink.innerText,href:this.hyperlink.getAttribute("href"),chapterName:this.chapter&&this.chapter.innerText||""}}}]),n}();var x={container:function(){return'<div class="'+h+'"></div>'},inner:function(t,e){return[t.prev&&'\n <div class="pagination-item pagination-item--previous">\n <a href="'+t.prev.href+'">\n <div class="pagination-item-label">\n <svg width="10" height="16" viewBox="0 0 10 16" xmlns="http://www.w3.org/2000/svg">\n <polyline fill="none" vector-effect="non-scaling-stroke" points="8,2 2,8 8,14"/>\n </svg>\n <span>'+e.previousText+'</span>\n </div>\n <div class="pagination-item-title">'+t.prev.name+"</div>\n ",t.prev&&e.crossChapterText&&'<div class="pagination-item-subtitle">'+t.prev.chapterName+"</div>",t.prev&&"</a>\n </div>\n ",t.next&&'\n <div class="pagination-item pagination-item--next">\n <a href="'+t.next.href+'">\n <div class="pagination-item-label">\n <span>'+e.nextText+'</span>\n <svg width="10" height="16" viewBox="0 0 10 16" xmlns="http://www.w3.org/2000/svg">\n <polyline fill="none" vector-effect="non-scaling-stroke" points="2,2 8,8 2,14"/>\n </svg>\n </div>\n <div class="pagination-item-title">'+t.next.name+"</div>\n ",t.next&&e.crossChapterText&&'<div class="pagination-item-subtitle">'+t.next.chapterName+"</div>",t.next&&"</a>\n </div>\n "].filter(Boolean).join("")}};window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(t,e){var n=c({},s(e.config),e.config.pagination||{});function i(){var t=p("."+h);t&&(t.innerHTML=x.inner(function(t,e){var n=e.crossChapter,i=e.routerMode;try{var a=i===d.HISTORY?t.route.path:"#"+t.route.path,r=g(p.all(".sidebar-nav li a")).filter(function(t){return!u(t,".section-link")}),o=r.find(v(a)),l=g((f(o,"ul")||{}).children).filter(function(t){return"LI"===t.tagName.toUpperCase()}),c=n?r.findIndex(v(a)):l.findIndex(function(t){var e=m(t);return e&&v(a,e)}),s=n?r:l;return{prev:new y(s[c-1]).toJSON(),next:new y(s[c+1]).toJSON()}}catch(t){return{}}}(e,n),n))}t.afterEach(function(t){return t+x.container()}),t.doneEach(function(){return i()})}].concat(window.$docsify.plugins||[])});
\ No newline at end of file
/*!
* docsify-tabs
* v1.5.2
* https://jhildenbiddle.github.io/docsify-tabs/
* (c) 2018-2021 John Hildenbiddle
* MIT license
*/
!function(){"use strict";!function(t,o){void 0===o&&(o={});var a=o.insertAt;if(t&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===a&&e.firstChild?e.insertBefore(c,e.firstChild):e.appendChild(c),c.styleSheet?c.styleSheet.cssText=t:c.appendChild(document.createTextNode(t))}}(':root{--docsifytabs-border-color:#ededed;--docsifytabs-border-px:1px;--docsifytabs-border-radius-px: ;--docsifytabs-margin:1.5em 0;--docsifytabs-tab-background:#f8f8f8;--docsifytabs-tab-background--active:var(--docsifytabs-content-background);--docsifytabs-tab-color:#999;--docsifytabs-tab-color--active:inherit;--docsifytabs-tab-highlight-px:3px;--docsifytabs-tab-highlight-color:var(--theme-color,currentColor);--docsifytabs-tab-padding:0.6em 1em;--docsifytabs-content-background:inherit;--docsifytabs-content-padding:1.5rem}.docsify-tabs:before,.docsify-tabs__tab{z-index:1}.docsify-tabs__tab--active,.docsify-tabs__tab:focus{z-index:2}.docsify-tabs{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative}.docsify-tabs:before{-ms-flex-order:0;content:"";-ms-flex:1 1;flex:1 1;order:0}.docsify-tabs__tab{-ms-flex-order:-1;appearance:none;font-size:inherit;margin:0;order:-1;position:relative}.docsify-tabs__content{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.docsify-tabs__content :first-child{margin-top:0}.docsify-tabs__content :first-child~:last-child,.docsify-tabs__content :last-child{margin-bottom:0}.docsify-tabs__tab--active+.docsify-tabs__content{height:auto;overflow:auto;position:relative;visibility:visible}[class*=docsify-tabs--]{margin:1.5em 0;margin:var(--docsifytabs-margin)}[class*=docsify-tabs--] .docsify-tabs__tab{background:#f8f8f8;background:var(--docsifytabs-tab-background);color:#999;color:var(--docsifytabs-tab-color);padding:.6em 1em;padding:var(--docsifytabs-tab-padding)}[class*=docsify-tabs--] .docsify-tabs__tab--active{background:inherit;background:var(--docsifytabs-tab-background--active);color:inherit;color:var(--docsifytabs-tab-color--active)}[class*=docsify-tabs--] .docsify-tabs__content{background:inherit;background:var(--docsifytabs-content-background);padding:1.5rem;padding:var(--docsifytabs-content-padding)}.docsify-tabs--classic .docsify-tabs__content,.docsify-tabs--classic .docsify-tabs__tab,.docsify-tabs--classic:before{border-color:#ededed;border-width:1px;border:var(--docsifytabs-border-px) solid var(--docsifytabs-border-color)}.docsify-tabs--classic:before{border-left-width:0;border-right-width:0;border-top-width:0;margin-right:1px;margin-right:var(--docsifytabs-border-px)}.docsify-tabs--classic .docsify-tabs__tab:first-of-type{border-top-left-radius:var(--docsifytabs-border-radius-px)}.docsify-tabs--classic .docsify-tabs__tab:last-of-type{border-top-right-radius:var(--docsifytabs-border-radius-px)}.docsify-tabs--classic .docsify-tabs__tab~.docsify-tabs__tab{margin-left:-1px;margin-left:calc(0px - var(--docsifytabs-border-px))}.docsify-tabs--classic .docsify-tabs__tab--active{border-bottom-width:0;box-shadow:inset 0 3px 0 0 var(--theme-color,currentColor);box-shadow:inset 0 var(--docsifytabs-tab-highlight-px) 0 0 var(--docsifytabs-tab-highlight-color)}.docsify-tabs--classic .docsify-tabs__content{border-radius:0;border-radius:0 var(--docsifytabs-border-radius-px) var(--docsifytabs-border-radius-px) var(--docsifytabs-border-radius-px);border-top:0;margin-top:-1px;margin-top:calc(0px - var(--docsifytabs-border-px))}.docsify-tabs--material .docsify-tabs__tab{background:transparent;border:0;margin-bottom:2px;margin-bottom:calc(var(--docsifytabs-tab-highlight-px) - var(--docsifytabs-border-px))}.docsify-tabs--material .docsify-tabs__tab--active{background:transparent;box-shadow:0 3px 0 0 var(--theme-color,currentColor);box-shadow:0 var(--docsifytabs-tab-highlight-px) 0 0 var(--docsifytabs-tab-highlight-color)}.docsify-tabs--material .docsify-tabs__content{border-color:#ededed;border-width:1px 0;border-bottom:var(--docsifytabs-border-px) solid var(--docsifytabs-border-color);border-left:0 solid var(--docsifytabs-border-color);border-right:0 solid var(--docsifytabs-border-color);border-top:var(--docsifytabs-border-px) solid var(--docsifytabs-border-color)}',{insertAt:"top"});var t="tabs:replace",o={tabsContainer:"content",tabBlock:"docsify-tabs",tabButton:"docsify-tabs__tab",tabButtonActive:"docsify-tabs__tab--active",tabContent:"docsify-tabs__content"},a={codeMarkup:/(```[\s\S]*?```)/gm,commentReplaceMarkup:new RegExp("\x3c!-- ".concat(t," (.*) --\x3e")),tabBlockMarkup:/[\r\n]*(\s*)(<!-+\s+tabs:\s*?start\s+-+>)[\r\n]+([\s|\S]*?)[\r\n\s]+(<!-+\s+tabs:\s*?end\s+-+>)/m,tabCommentMarkup:/[\r\n]*(\s*)<!-+\s+tab:\s*(.*)\s+-+>[\r\n]+([\s\S]*?)[\r\n]*\s*(?=<!-+\s+tabs?:(?!replace))/m,tabHeadingMarkup:/[\r\n]*(\s*)#{1,6}\s*[*_]{2}\s*(.*[^\s])\s*[*_]{2}[\r\n]+([\s\S]*?)(?=#{1,6}\s*[*_]{2}|<!-+\s+tabs:\s*?end\s+-+>)/m},e={persist:!0,sync:!0,theme:"classic",tabComments:!0,tabHeadings:!0};function c(t,o){if(Element.prototype.closest)return t.closest(o);for(;t;){if(r(t,o))return t;t=t.parentNode||null}return t}function r(t,o){return(Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector).call(t,o)}function s(t){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=c(t,".".concat(o.tabButton));if(r){var n=r.getAttribute("data-tab"),i=document.querySelector(".".concat(o.tabsContainer)),d=r.parentNode,b=Array.apply(null,d.querySelectorAll(".".concat(o.tabButton))),f=d.offsetTop;if(b.forEach((function(t){return t.classList.remove(o.tabButtonActive)})),r.classList.add(o.tabButtonActive),!a){if(e.persist){var l=i?Array.apply(null,i.querySelectorAll(".".concat(o.tabBlock))):[],u=l.indexOf(d),y=JSON.parse(sessionStorage.getItem(window.location.href))||{};y[u]=n,sessionStorage.setItem(window.location.href,JSON.stringify(y))}if(e.sync){var p=i?Array.apply(null,i.querySelectorAll(".".concat(o.tabButton,'[data-tab="').concat(n,'"]'))):[],m=JSON.parse(sessionStorage.getItem("*"))||[];p.forEach((function(t){s(t,!0)})),window.scrollBy(0,0-(f-d.offsetTop)),m.indexOf(n)>0&&m.splice(m.indexOf(n),1),0!==m.indexOf(n)&&(m.unshift(n),sessionStorage.setItem("*",JSON.stringify(m)))}}}}function n(){var t=decodeURIComponent((window.location.hash.match(/(?:id=)([^&]+)/)||[])[1]),a=t&&".".concat(o.tabBlock," #").concat(t);if(t&&document.querySelector(a)){var e,c=document.querySelector("#".concat(t));if(c.closest)e=c.closest(".".concat(o.tabContent));else for(e=c.parentNode;e!==document.body&&!e.classList.contains("".concat(o.tabContent));)e=e.parentNode;s(e.previousElementSibling)}}window&&(window.$docsify=window.$docsify||{},window.$docsify.tabs=window.$docsify.tabs||{},Object.keys(window.$docsify.tabs).forEach((function(t){Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=window.$docsify.tabs[t])})),window.$docsify.tabs.version="1.5.2",(e.tabComments||e.tabHeadings)&&(window.$docsify.plugins=[].concat((function(c,r){var i=!1;c.beforeEach((function(c){return(i=a.tabBlockMarkup.test(c))&&(c=function(c,r){for(var s,n,i=c.match(a.codeMarkup)||[],d=i.map((function(o,a){var e="\x3c!-- ".concat(t," CODEBLOCK").concat(a," --\x3e");return c=c.replace(o,(function(){return e})),e})),b=e.theme?"".concat(o.tabBlock,"--").concat(e.theme):"",f=document.createElement("div"),l=1,u=function(){var i=s[0],d="",u="",y=e.tabComments&&a.tabCommentMarkup.test(i),p=e.tabHeadings&&a.tabHeadingMarkup.test(i),m=s[1],h=s[2],g=s[4];if(y||p){d="\x3c!-- ".concat(t,' <div class="').concat([o.tabBlock,b].join(" "),'"> --\x3e'),u="\n".concat(m,"\x3c!-- ").concat(t," </div> --\x3e");for(var v=function(){f.innerHTML=n[2].trim()?r.compiler.compile(n[2]).replace(/<\/?p>/g,""):"Tab ".concat(l);var a=f.innerHTML,e=(n[3]||"").trim(),c=(f.textContent||f.firstChild.getAttribute("alt")||f.firstChild.getAttribute("src")).trim().toLowerCase();i=i.replace(n[0],(function(){return["\n".concat(m,"\x3c!-- ").concat(t,' <button class="').concat(o.tabButton,'" data-tab="').concat(c,'">').concat(a,"</button> --\x3e"),"\n".concat(m,"\x3c!-- ").concat(t,' <div class="').concat(o.tabContent,'" data-tab-content="').concat(c,'"> --\x3e'),"\n\n".concat(m).concat(e),"\n\n".concat(m,"\x3c!-- ").concat(t," </div> --\x3e")].join("")})),l++};null!==(n=(e.tabComments?a.tabCommentMarkup.exec(i):null)||(e.tabHeadings?a.tabHeadingMarkup.exec(i):null));)v()}i=(i=i.replace(h,(function(){return d}))).replace(g,(function(){return u})),c=c.replace(s[0],(function(){return i}))};null!==(s=a.tabBlockMarkup.exec(c));)u();return d.forEach((function(t,o){c=c.replace(t,(function(){return i[o]}))})),c}(c,r)),c})),c.afterEach((function(t,o){i&&(t=function(t){for(var o,e=function(){var a=o[0],e=o[1]||"";t=t.replace(a,(function(){return e}))};null!==(o=a.commentReplaceMarkup.exec(t));)e();return t}(t)),o(t)})),c.doneEach((function(){var t,a,c,r;i&&(a=(t=document.querySelector(".".concat(o.tabsContainer)))?Array.apply(null,t.querySelectorAll(".".concat(o.tabBlock))):[],c=JSON.parse(sessionStorage.getItem(window.location.href))||{},r=JSON.parse(sessionStorage.getItem("*"))||[],n(),a.forEach((function(t,a){var s=t.querySelector(".".concat(o.tabButtonActive));s||(e.sync&&r.length&&(s=r.map((function(a){return t.querySelector(".".concat(o.tabButton,'[data-tab="').concat(a,'"]'))})).filter((function(t){return t}))[0]),!s&&e.persist&&(s=t.querySelector(".".concat(o.tabButton,'[data-tab="').concat(c[a],'"]'))),(s=s||t.querySelector(".".concat(o.tabButton)))&&s.classList.add(o.tabButtonActive))})))})),c.mounted((function(){var t=document.querySelector(".".concat(o.tabsContainer));t&&t.addEventListener("click",(function(t){s(t.target)})),window.addEventListener("hashchange",n,!1)}))}),window.$docsify.plugins||[])))}();
//# sourceMappingURL=docsify-tabs.min.js.map
This source diff could not be displayed because it is too large. You can view the blob instead.
(function () {
// 下面是解析的部分
const chatMap = {
"&": "&amp;",
"'": "&#x27;",
"`": "&#x60;",
'"': "&quot;",
"<": "&lt;",
">": "&gt;",
};
const escapeHTML = (string) => {
if (typeof string !== "string") return string;
return string.replace(/[&'`"<>]/g, function (match) {
return chatMap[match];
});
};
window.drawioConverter = function (xml, idx = new Date().getTime()) {
let mxGraphData = {
editable: false,
highlight: "#0000ff",
nav: false,
toolbar: null,
edit: null,
resize: true,
lightbox: "open",
// "check-visible-state": false,
// "auto-fit": false,
// move: false,
xml,
};
const json = JSON.stringify(mxGraphData);
return `<div class="drawio-viewer-index-${idx}">
<div class="mxgraph" style="max-width: 100%; border: 1px solid transparent" data-mxgraph="${escapeHTML(json)}"></div>
</div>
`;
};
// 下面是插件加载部分
const install = function (hook) {
hook.doneEach((hook) => {
try {
window.GraphViewer.processElements();
} catch {}
});
};
window.$docsify.plugins = [].concat(install, $docsify.plugins);
})();
!function(){var o={100:"unicode/1f4af",1234:"unicode/1f522","+1":"unicode/1f44d","-1":"unicode/1f44e","1st_place_medal":"unicode/1f947","2nd_place_medal":"unicode/1f948","3rd_place_medal":"unicode/1f949","8ball":"unicode/1f3b1",a:"unicode/1f170",ab:"unicode/1f18e",abacus:"unicode/1f9ee",abc:"unicode/1f524",abcd:"unicode/1f521",accept:"unicode/1f251",adhesive_bandage:"unicode/1fa79",adult:"unicode/1f9d1",aerial_tramway:"unicode/1f6a1",afghanistan:"unicode/1f1e6-1f1eb",airplane:"unicode/2708",aland_islands:"unicode/1f1e6-1f1fd",alarm_clock:"unicode/23f0",albania:"unicode/1f1e6-1f1f1",alembic:"unicode/2697",algeria:"unicode/1f1e9-1f1ff",alien:"unicode/1f47d",ambulance:"unicode/1f691",american_samoa:"unicode/1f1e6-1f1f8",amphora:"unicode/1f3fa",anchor:"unicode/2693",andorra:"unicode/1f1e6-1f1e9",angel:"unicode/1f47c",anger:"unicode/1f4a2",angola:"unicode/1f1e6-1f1f4",angry:"unicode/1f620",anguilla:"unicode/1f1e6-1f1ee",anguished:"unicode/1f627",ant:"unicode/1f41c",antarctica:"unicode/1f1e6-1f1f6",antigua_barbuda:"unicode/1f1e6-1f1ec",apple:"unicode/1f34e",aquarius:"unicode/2652",argentina:"unicode/1f1e6-1f1f7",aries:"unicode/2648",armenia:"unicode/1f1e6-1f1f2",arrow_backward:"unicode/25c0",arrow_double_down:"unicode/23ec",arrow_double_up:"unicode/23eb",arrow_down:"unicode/2b07",arrow_down_small:"unicode/1f53d",arrow_forward:"unicode/25b6",arrow_heading_down:"unicode/2935",arrow_heading_up:"unicode/2934",arrow_left:"unicode/2b05",arrow_lower_left:"unicode/2199",arrow_lower_right:"unicode/2198",arrow_right:"unicode/27a1",arrow_right_hook:"unicode/21aa",arrow_up:"unicode/2b06",arrow_up_down:"unicode/2195",arrow_up_small:"unicode/1f53c",arrow_upper_left:"unicode/2196",arrow_upper_right:"unicode/2197",arrows_clockwise:"unicode/1f503",arrows_counterclockwise:"unicode/1f504",art:"unicode/1f3a8",articulated_lorry:"unicode/1f69b",artificial_satellite:"unicode/1f6f0",artist:"unicode/1f9d1-1f3a8",aruba:"unicode/1f1e6-1f1fc",ascension_island:"unicode/1f1e6-1f1e8",asterisk:"unicode/002a-20e3",astonished:"unicode/1f632",astronaut:"unicode/1f9d1-1f680",athletic_shoe:"unicode/1f45f",atm:"unicode/1f3e7",atom:"atom",atom_symbol:"unicode/269b",australia:"unicode/1f1e6-1f1fa",austria:"unicode/1f1e6-1f1f9",auto_rickshaw:"unicode/1f6fa",avocado:"unicode/1f951",axe:"unicode/1fa93",azerbaijan:"unicode/1f1e6-1f1ff",b:"unicode/1f171",baby:"unicode/1f476",baby_bottle:"unicode/1f37c",baby_chick:"unicode/1f424",baby_symbol:"unicode/1f6bc",back:"unicode/1f519",bacon:"unicode/1f953",badger:"unicode/1f9a1",badminton:"unicode/1f3f8",bagel:"unicode/1f96f",baggage_claim:"unicode/1f6c4",baguette_bread:"unicode/1f956",bahamas:"unicode/1f1e7-1f1f8",bahrain:"unicode/1f1e7-1f1ed",balance_scale:"unicode/2696",bald_man:"unicode/1f468-1f9b2",bald_woman:"unicode/1f469-1f9b2",ballet_shoes:"unicode/1fa70",balloon:"unicode/1f388",ballot_box:"unicode/1f5f3",ballot_box_with_check:"unicode/2611",bamboo:"unicode/1f38d",banana:"unicode/1f34c",bangbang:"unicode/203c",bangladesh:"unicode/1f1e7-1f1e9",banjo:"unicode/1fa95",bank:"unicode/1f3e6",bar_chart:"unicode/1f4ca",barbados:"unicode/1f1e7-1f1e7",barber:"unicode/1f488",baseball:"unicode/26be",basecamp:"basecamp",basecampy:"basecampy",basket:"unicode/1f9fa",basketball:"unicode/1f3c0",basketball_man:"unicode/26f9-2642",basketball_woman:"unicode/26f9-2640",bat:"unicode/1f987",bath:"unicode/1f6c0",bathtub:"unicode/1f6c1",battery:"unicode/1f50b",beach_umbrella:"unicode/1f3d6",bear:"unicode/1f43b",bearded_person:"unicode/1f9d4",bed:"unicode/1f6cf",bee:"unicode/1f41d",beer:"unicode/1f37a",beers:"unicode/1f37b",beetle:"unicode/1f41e",beginner:"unicode/1f530",belarus:"unicode/1f1e7-1f1fe",belgium:"unicode/1f1e7-1f1ea",belize:"unicode/1f1e7-1f1ff",bell:"unicode/1f514",bellhop_bell:"unicode/1f6ce",benin:"unicode/1f1e7-1f1ef",bento:"unicode/1f371",bermuda:"unicode/1f1e7-1f1f2",beverage_box:"unicode/1f9c3",bhutan:"unicode/1f1e7-1f1f9",bicyclist:"unicode/1f6b4",bike:"unicode/1f6b2",biking_man:"unicode/1f6b4-2642",biking_woman:"unicode/1f6b4-2640",bikini:"unicode/1f459",billed_cap:"unicode/1f9e2",biohazard:"unicode/2623",bird:"unicode/1f426",birthday:"unicode/1f382",black_circle:"unicode/26ab",black_flag:"unicode/1f3f4",black_heart:"unicode/1f5a4",black_joker:"unicode/1f0cf",black_large_square:"unicode/2b1b",black_medium_small_square:"unicode/25fe",black_medium_square:"unicode/25fc",black_nib:"unicode/2712",black_small_square:"unicode/25aa",black_square_button:"unicode/1f532",blond_haired_man:"unicode/1f471-2642",blond_haired_person:"unicode/1f471",blond_haired_woman:"unicode/1f471-2640",blonde_woman:"unicode/1f471-2640",blossom:"unicode/1f33c",blowfish:"unicode/1f421",blue_book:"unicode/1f4d8",blue_car:"unicode/1f699",blue_heart:"unicode/1f499",blue_square:"unicode/1f7e6",blush:"unicode/1f60a",boar:"unicode/1f417",boat:"unicode/26f5",bolivia:"unicode/1f1e7-1f1f4",bomb:"unicode/1f4a3",bone:"unicode/1f9b4",book:"unicode/1f4d6",bookmark:"unicode/1f516",bookmark_tabs:"unicode/1f4d1",books:"unicode/1f4da",boom:"unicode/1f4a5",boot:"unicode/1f462",bosnia_herzegovina:"unicode/1f1e7-1f1e6",botswana:"unicode/1f1e7-1f1fc",bouncing_ball_man:"unicode/26f9-2642",bouncing_ball_person:"unicode/26f9",bouncing_ball_woman:"unicode/26f9-2640",bouquet:"unicode/1f490",bouvet_island:"unicode/1f1e7-1f1fb",bow:"unicode/1f647",bow_and_arrow:"unicode/1f3f9",bowing_man:"unicode/1f647-2642",bowing_woman:"unicode/1f647-2640",bowl_with_spoon:"unicode/1f963",bowling:"unicode/1f3b3",bowtie:"bowtie",boxing_glove:"unicode/1f94a",boy:"unicode/1f466",brain:"unicode/1f9e0",brazil:"unicode/1f1e7-1f1f7",bread:"unicode/1f35e",breast_feeding:"unicode/1f931",bricks:"unicode/1f9f1",bride_with_veil:"unicode/1f470",bridge_at_night:"unicode/1f309",briefcase:"unicode/1f4bc",british_indian_ocean_territory:"unicode/1f1ee-1f1f4",british_virgin_islands:"unicode/1f1fb-1f1ec",broccoli:"unicode/1f966",broken_heart:"unicode/1f494",broom:"unicode/1f9f9",brown_circle:"unicode/1f7e4",brown_heart:"unicode/1f90e",brown_square:"unicode/1f7eb",brunei:"unicode/1f1e7-1f1f3",bug:"unicode/1f41b",building_construction:"unicode/1f3d7",bulb:"unicode/1f4a1",bulgaria:"unicode/1f1e7-1f1ec",bullettrain_front:"unicode/1f685",bullettrain_side:"unicode/1f684",burkina_faso:"unicode/1f1e7-1f1eb",burrito:"unicode/1f32f",burundi:"unicode/1f1e7-1f1ee",bus:"unicode/1f68c",business_suit_levitating:"unicode/1f574",busstop:"unicode/1f68f",bust_in_silhouette:"unicode/1f464",busts_in_silhouette:"unicode/1f465",butter:"unicode/1f9c8",butterfly:"unicode/1f98b",cactus:"unicode/1f335",cake:"unicode/1f370",calendar:"unicode/1f4c6",call_me_hand:"unicode/1f919",calling:"unicode/1f4f2",cambodia:"unicode/1f1f0-1f1ed",camel:"unicode/1f42b",camera:"unicode/1f4f7",camera_flash:"unicode/1f4f8",cameroon:"unicode/1f1e8-1f1f2",camping:"unicode/1f3d5",canada:"unicode/1f1e8-1f1e6",canary_islands:"unicode/1f1ee-1f1e8",cancer:"unicode/264b",candle:"unicode/1f56f",candy:"unicode/1f36c",canned_food:"unicode/1f96b",canoe:"unicode/1f6f6",cape_verde:"unicode/1f1e8-1f1fb",capital_abcd:"unicode/1f520",capricorn:"unicode/2651",car:"unicode/1f697",card_file_box:"unicode/1f5c3",card_index:"unicode/1f4c7",card_index_dividers:"unicode/1f5c2",caribbean_netherlands:"unicode/1f1e7-1f1f6",carousel_horse:"unicode/1f3a0",carrot:"unicode/1f955",cartwheeling:"unicode/1f938",cat:"unicode/1f431",cat2:"unicode/1f408",cayman_islands:"unicode/1f1f0-1f1fe",cd:"unicode/1f4bf",central_african_republic:"unicode/1f1e8-1f1eb",ceuta_melilla:"unicode/1f1ea-1f1e6",chad:"unicode/1f1f9-1f1e9",chains:"unicode/26d3",chair:"unicode/1fa91",champagne:"unicode/1f37e",chart:"unicode/1f4b9",chart_with_downwards_trend:"unicode/1f4c9",chart_with_upwards_trend:"unicode/1f4c8",checkered_flag:"unicode/1f3c1",cheese:"unicode/1f9c0",cherries:"unicode/1f352",cherry_blossom:"unicode/1f338",chess_pawn:"unicode/265f",chestnut:"unicode/1f330",chicken:"unicode/1f414",child:"unicode/1f9d2",children_crossing:"unicode/1f6b8",chile:"unicode/1f1e8-1f1f1",chipmunk:"unicode/1f43f",chocolate_bar:"unicode/1f36b",chopsticks:"unicode/1f962",christmas_island:"unicode/1f1e8-1f1fd",christmas_tree:"unicode/1f384",church:"unicode/26ea",cinema:"unicode/1f3a6",circus_tent:"unicode/1f3aa",city_sunrise:"unicode/1f307",city_sunset:"unicode/1f306",cityscape:"unicode/1f3d9",cl:"unicode/1f191",clamp:"unicode/1f5dc",clap:"unicode/1f44f",clapper:"unicode/1f3ac",classical_building:"unicode/1f3db",climbing:"unicode/1f9d7",climbing_man:"unicode/1f9d7-2642",climbing_woman:"unicode/1f9d7-2640",clinking_glasses:"unicode/1f942",clipboard:"unicode/1f4cb",clipperton_island:"unicode/1f1e8-1f1f5",clock1:"unicode/1f550",clock10:"unicode/1f559",clock1030:"unicode/1f565",clock11:"unicode/1f55a",clock1130:"unicode/1f566",clock12:"unicode/1f55b",clock1230:"unicode/1f567",clock130:"unicode/1f55c",clock2:"unicode/1f551",clock230:"unicode/1f55d",clock3:"unicode/1f552",clock330:"unicode/1f55e",clock4:"unicode/1f553",clock430:"unicode/1f55f",clock5:"unicode/1f554",clock530:"unicode/1f560",clock6:"unicode/1f555",clock630:"unicode/1f561",clock7:"unicode/1f556",clock730:"unicode/1f562",clock8:"unicode/1f557",clock830:"unicode/1f563",clock9:"unicode/1f558",clock930:"unicode/1f564",closed_book:"unicode/1f4d5",closed_lock_with_key:"unicode/1f510",closed_umbrella:"unicode/1f302",cloud:"unicode/2601",cloud_with_lightning:"unicode/1f329",cloud_with_lightning_and_rain:"unicode/26c8",cloud_with_rain:"unicode/1f327",cloud_with_snow:"unicode/1f328",clown_face:"unicode/1f921",clubs:"unicode/2663",cn:"unicode/1f1e8-1f1f3",coat:"unicode/1f9e5",cocktail:"unicode/1f378",coconut:"unicode/1f965",cocos_islands:"unicode/1f1e8-1f1e8",coffee:"unicode/2615",coffin:"unicode/26b0",cold_face:"unicode/1f976",cold_sweat:"unicode/1f630",collision:"unicode/1f4a5",colombia:"unicode/1f1e8-1f1f4",comet:"unicode/2604",comoros:"unicode/1f1f0-1f1f2",compass:"unicode/1f9ed",computer:"unicode/1f4bb",computer_mouse:"unicode/1f5b1",confetti_ball:"unicode/1f38a",confounded:"unicode/1f616",confused:"unicode/1f615",congo_brazzaville:"unicode/1f1e8-1f1ec",congo_kinshasa:"unicode/1f1e8-1f1e9",congratulations:"unicode/3297",construction:"unicode/1f6a7",construction_worker:"unicode/1f477",construction_worker_man:"unicode/1f477-2642",construction_worker_woman:"unicode/1f477-2640",control_knobs:"unicode/1f39b",convenience_store:"unicode/1f3ea",cook:"unicode/1f9d1-1f373",cook_islands:"unicode/1f1e8-1f1f0",cookie:"unicode/1f36a",cool:"unicode/1f192",cop:"unicode/1f46e",copyright:"unicode/00a9",corn:"unicode/1f33d",costa_rica:"unicode/1f1e8-1f1f7",cote_divoire:"unicode/1f1e8-1f1ee",couch_and_lamp:"unicode/1f6cb",couple:"unicode/1f46b",couple_with_heart:"unicode/1f491",couple_with_heart_man_man:"unicode/1f468-2764-1f468",couple_with_heart_woman_man:"unicode/1f469-2764-1f468",couple_with_heart_woman_woman:"unicode/1f469-2764-1f469",couplekiss:"unicode/1f48f",couplekiss_man_man:"unicode/1f468-2764-1f48b-1f468",couplekiss_man_woman:"unicode/1f469-2764-1f48b-1f468",couplekiss_woman_woman:"unicode/1f469-2764-1f48b-1f469",cow:"unicode/1f42e",cow2:"unicode/1f404",cowboy_hat_face:"unicode/1f920",crab:"unicode/1f980",crayon:"unicode/1f58d",credit_card:"unicode/1f4b3",crescent_moon:"unicode/1f319",cricket:"unicode/1f997",cricket_game:"unicode/1f3cf",croatia:"unicode/1f1ed-1f1f7",crocodile:"unicode/1f40a",croissant:"unicode/1f950",crossed_fingers:"unicode/1f91e",crossed_flags:"unicode/1f38c",crossed_swords:"unicode/2694",crown:"unicode/1f451",cry:"unicode/1f622",crying_cat_face:"unicode/1f63f",crystal_ball:"unicode/1f52e",cuba:"unicode/1f1e8-1f1fa",cucumber:"unicode/1f952",cup_with_straw:"unicode/1f964",cupcake:"unicode/1f9c1",cupid:"unicode/1f498",curacao:"unicode/1f1e8-1f1fc",curling_stone:"unicode/1f94c",curly_haired_man:"unicode/1f468-1f9b1",curly_haired_woman:"unicode/1f469-1f9b1",curly_loop:"unicode/27b0",currency_exchange:"unicode/1f4b1",curry:"unicode/1f35b",cursing_face:"unicode/1f92c",custard:"unicode/1f36e",customs:"unicode/1f6c3",cut_of_meat:"unicode/1f969",cyclone:"unicode/1f300",cyprus:"unicode/1f1e8-1f1fe",czech_republic:"unicode/1f1e8-1f1ff",dagger:"unicode/1f5e1",dancer:"unicode/1f483",dancers:"unicode/1f46f",dancing_men:"unicode/1f46f-2642",dancing_women:"unicode/1f46f-2640",dango:"unicode/1f361",dark_sunglasses:"unicode/1f576",dart:"unicode/1f3af",dash:"unicode/1f4a8",date:"unicode/1f4c5",de:"unicode/1f1e9-1f1ea",deaf_man:"unicode/1f9cf-2642",deaf_person:"unicode/1f9cf",deaf_woman:"unicode/1f9cf-2640",deciduous_tree:"unicode/1f333",deer:"unicode/1f98c",denmark:"unicode/1f1e9-1f1f0",department_store:"unicode/1f3ec",derelict_house:"unicode/1f3da",desert:"unicode/1f3dc",desert_island:"unicode/1f3dd",desktop_computer:"unicode/1f5a5",detective:"unicode/1f575",diamond_shape_with_a_dot_inside:"unicode/1f4a0",diamonds:"unicode/2666",diego_garcia:"unicode/1f1e9-1f1ec",disappointed:"unicode/1f61e",disappointed_relieved:"unicode/1f625",diving_mask:"unicode/1f93f",diya_lamp:"unicode/1fa94",dizzy:"unicode/1f4ab",dizzy_face:"unicode/1f635",djibouti:"unicode/1f1e9-1f1ef",dna:"unicode/1f9ec",do_not_litter:"unicode/1f6af",dog:"unicode/1f436",dog2:"unicode/1f415",dollar:"unicode/1f4b5",dolls:"unicode/1f38e",dolphin:"unicode/1f42c",dominica:"unicode/1f1e9-1f1f2",dominican_republic:"unicode/1f1e9-1f1f4",door:"unicode/1f6aa",doughnut:"unicode/1f369",dove:"unicode/1f54a",dragon:"unicode/1f409",dragon_face:"unicode/1f432",dress:"unicode/1f457",dromedary_camel:"unicode/1f42a",drooling_face:"unicode/1f924",drop_of_blood:"unicode/1fa78",droplet:"unicode/1f4a7",drum:"unicode/1f941",duck:"unicode/1f986",dumpling:"unicode/1f95f",dvd:"unicode/1f4c0","e-mail":"unicode/1f4e7",eagle:"unicode/1f985",ear:"unicode/1f442",ear_of_rice:"unicode/1f33e",ear_with_hearing_aid:"unicode/1f9bb",earth_africa:"unicode/1f30d",earth_americas:"unicode/1f30e",earth_asia:"unicode/1f30f",ecuador:"unicode/1f1ea-1f1e8",egg:"unicode/1f95a",eggplant:"unicode/1f346",egypt:"unicode/1f1ea-1f1ec",eight:"unicode/0038-20e3",eight_pointed_black_star:"unicode/2734",eight_spoked_asterisk:"unicode/2733",eject_button:"unicode/23cf",el_salvador:"unicode/1f1f8-1f1fb",electric_plug:"unicode/1f50c",electron:"electron",elephant:"unicode/1f418",elf:"unicode/1f9dd",elf_man:"unicode/1f9dd-2642",elf_woman:"unicode/1f9dd-2640",email:"unicode/2709",end:"unicode/1f51a",england:"unicode/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",envelope:"unicode/2709",envelope_with_arrow:"unicode/1f4e9",equatorial_guinea:"unicode/1f1ec-1f1f6",eritrea:"unicode/1f1ea-1f1f7",es:"unicode/1f1ea-1f1f8",estonia:"unicode/1f1ea-1f1ea",ethiopia:"unicode/1f1ea-1f1f9",eu:"unicode/1f1ea-1f1fa",euro:"unicode/1f4b6",european_castle:"unicode/1f3f0",european_post_office:"unicode/1f3e4",european_union:"unicode/1f1ea-1f1fa",evergreen_tree:"unicode/1f332",exclamation:"unicode/2757",exploding_head:"unicode/1f92f",expressionless:"unicode/1f611",eye:"unicode/1f441",eye_speech_bubble:"unicode/1f441-1f5e8",eyeglasses:"unicode/1f453",eyes:"unicode/1f440",face_with_head_bandage:"unicode/1f915",face_with_thermometer:"unicode/1f912",facepalm:"unicode/1f926",facepunch:"unicode/1f44a",factory:"unicode/1f3ed",factory_worker:"unicode/1f9d1-1f3ed",fairy:"unicode/1f9da",fairy_man:"unicode/1f9da-2642",fairy_woman:"unicode/1f9da-2640",falafel:"unicode/1f9c6",falkland_islands:"unicode/1f1eb-1f1f0",fallen_leaf:"unicode/1f342",family:"unicode/1f46a",family_man_boy:"unicode/1f468-1f466",family_man_boy_boy:"unicode/1f468-1f466-1f466",family_man_girl:"unicode/1f468-1f467",family_man_girl_boy:"unicode/1f468-1f467-1f466",family_man_girl_girl:"unicode/1f468-1f467-1f467",family_man_man_boy:"unicode/1f468-1f468-1f466",family_man_man_boy_boy:"unicode/1f468-1f468-1f466-1f466",family_man_man_girl:"unicode/1f468-1f468-1f467",family_man_man_girl_boy:"unicode/1f468-1f468-1f467-1f466",family_man_man_girl_girl:"unicode/1f468-1f468-1f467-1f467",family_man_woman_boy:"unicode/1f468-1f469-1f466",family_man_woman_boy_boy:"unicode/1f468-1f469-1f466-1f466",family_man_woman_girl:"unicode/1f468-1f469-1f467",family_man_woman_girl_boy:"unicode/1f468-1f469-1f467-1f466",family_man_woman_girl_girl:"unicode/1f468-1f469-1f467-1f467",family_woman_boy:"unicode/1f469-1f466",family_woman_boy_boy:"unicode/1f469-1f466-1f466",family_woman_girl:"unicode/1f469-1f467",family_woman_girl_boy:"unicode/1f469-1f467-1f466",family_woman_girl_girl:"unicode/1f469-1f467-1f467",family_woman_woman_boy:"unicode/1f469-1f469-1f466",family_woman_woman_boy_boy:"unicode/1f469-1f469-1f466-1f466",family_woman_woman_girl:"unicode/1f469-1f469-1f467",family_woman_woman_girl_boy:"unicode/1f469-1f469-1f467-1f466",family_woman_woman_girl_girl:"unicode/1f469-1f469-1f467-1f467",farmer:"unicode/1f9d1-1f33e",faroe_islands:"unicode/1f1eb-1f1f4",fast_forward:"unicode/23e9",fax:"unicode/1f4e0",fearful:"unicode/1f628",feelsgood:"feelsgood",feet:"unicode/1f43e",female_detective:"unicode/1f575-2640",female_sign:"unicode/2640",ferris_wheel:"unicode/1f3a1",ferry:"unicode/26f4",field_hockey:"unicode/1f3d1",fiji:"unicode/1f1eb-1f1ef",file_cabinet:"unicode/1f5c4",file_folder:"unicode/1f4c1",film_projector:"unicode/1f4fd",film_strip:"unicode/1f39e",finland:"unicode/1f1eb-1f1ee",finnadie:"finnadie",fire:"unicode/1f525",fire_engine:"unicode/1f692",fire_extinguisher:"unicode/1f9ef",firecracker:"unicode/1f9e8",firefighter:"unicode/1f9d1-1f692",fireworks:"unicode/1f386",first_quarter_moon:"unicode/1f313",first_quarter_moon_with_face:"unicode/1f31b",fish:"unicode/1f41f",fish_cake:"unicode/1f365",fishing_pole_and_fish:"unicode/1f3a3",fist:"unicode/270a",fist_left:"unicode/1f91b",fist_oncoming:"unicode/1f44a",fist_raised:"unicode/270a",fist_right:"unicode/1f91c",five:"unicode/0035-20e3",flags:"unicode/1f38f",flamingo:"unicode/1f9a9",flashlight:"unicode/1f526",flat_shoe:"unicode/1f97f",fleur_de_lis:"unicode/269c",flight_arrival:"unicode/1f6ec",flight_departure:"unicode/1f6eb",flipper:"unicode/1f42c",floppy_disk:"unicode/1f4be",flower_playing_cards:"unicode/1f3b4",flushed:"unicode/1f633",flying_disc:"unicode/1f94f",flying_saucer:"unicode/1f6f8",fog:"unicode/1f32b",foggy:"unicode/1f301",foot:"unicode/1f9b6",football:"unicode/1f3c8",footprints:"unicode/1f463",fork_and_knife:"unicode/1f374",fortune_cookie:"unicode/1f960",fountain:"unicode/26f2",fountain_pen:"unicode/1f58b",four:"unicode/0034-20e3",four_leaf_clover:"unicode/1f340",fox_face:"unicode/1f98a",fr:"unicode/1f1eb-1f1f7",framed_picture:"unicode/1f5bc",free:"unicode/1f193",french_guiana:"unicode/1f1ec-1f1eb",french_polynesia:"unicode/1f1f5-1f1eb",french_southern_territories:"unicode/1f1f9-1f1eb",fried_egg:"unicode/1f373",fried_shrimp:"unicode/1f364",fries:"unicode/1f35f",frog:"unicode/1f438",frowning:"unicode/1f626",frowning_face:"unicode/2639",frowning_man:"unicode/1f64d-2642",frowning_person:"unicode/1f64d",frowning_woman:"unicode/1f64d-2640",fu:"unicode/1f595",fuelpump:"unicode/26fd",full_moon:"unicode/1f315",full_moon_with_face:"unicode/1f31d",funeral_urn:"unicode/26b1",gabon:"unicode/1f1ec-1f1e6",gambia:"unicode/1f1ec-1f1f2",game_die:"unicode/1f3b2",garlic:"unicode/1f9c4",gb:"unicode/1f1ec-1f1e7",gear:"unicode/2699",gem:"unicode/1f48e",gemini:"unicode/264a",genie:"unicode/1f9de",genie_man:"unicode/1f9de-2642",genie_woman:"unicode/1f9de-2640",georgia:"unicode/1f1ec-1f1ea",ghana:"unicode/1f1ec-1f1ed",ghost:"unicode/1f47b",gibraltar:"unicode/1f1ec-1f1ee",gift:"unicode/1f381",gift_heart:"unicode/1f49d",giraffe:"unicode/1f992",girl:"unicode/1f467",globe_with_meridians:"unicode/1f310",gloves:"unicode/1f9e4",goal_net:"unicode/1f945",goat:"unicode/1f410",goberserk:"goberserk",godmode:"godmode",goggles:"unicode/1f97d",golf:"unicode/26f3",golfing:"unicode/1f3cc",golfing_man:"unicode/1f3cc-2642",golfing_woman:"unicode/1f3cc-2640",gorilla:"unicode/1f98d",grapes:"unicode/1f347",greece:"unicode/1f1ec-1f1f7",green_apple:"unicode/1f34f",green_book:"unicode/1f4d7",green_circle:"unicode/1f7e2",green_heart:"unicode/1f49a",green_salad:"unicode/1f957",green_square:"unicode/1f7e9",greenland:"unicode/1f1ec-1f1f1",grenada:"unicode/1f1ec-1f1e9",grey_exclamation:"unicode/2755",grey_question:"unicode/2754",grimacing:"unicode/1f62c",grin:"unicode/1f601",grinning:"unicode/1f600",guadeloupe:"unicode/1f1ec-1f1f5",guam:"unicode/1f1ec-1f1fa",guard:"unicode/1f482",guardsman:"unicode/1f482-2642",guardswoman:"unicode/1f482-2640",guatemala:"unicode/1f1ec-1f1f9",guernsey:"unicode/1f1ec-1f1ec",guide_dog:"unicode/1f9ae",guinea:"unicode/1f1ec-1f1f3",guinea_bissau:"unicode/1f1ec-1f1fc",guitar:"unicode/1f3b8",gun:"unicode/1f52b",guyana:"unicode/1f1ec-1f1fe",haircut:"unicode/1f487",haircut_man:"unicode/1f487-2642",haircut_woman:"unicode/1f487-2640",haiti:"unicode/1f1ed-1f1f9",hamburger:"unicode/1f354",hammer:"unicode/1f528",hammer_and_pick:"unicode/2692",hammer_and_wrench:"unicode/1f6e0",hamster:"unicode/1f439",hand:"unicode/270b",hand_over_mouth:"unicode/1f92d",handbag:"unicode/1f45c",handball_person:"unicode/1f93e",handshake:"unicode/1f91d",hankey:"unicode/1f4a9",hash:"unicode/0023-20e3",hatched_chick:"unicode/1f425",hatching_chick:"unicode/1f423",headphones:"unicode/1f3a7",health_worker:"unicode/1f9d1-2695",hear_no_evil:"unicode/1f649",heard_mcdonald_islands:"unicode/1f1ed-1f1f2",heart:"unicode/2764",heart_decoration:"unicode/1f49f",heart_eyes:"unicode/1f60d",heart_eyes_cat:"unicode/1f63b",heartbeat:"unicode/1f493",heartpulse:"unicode/1f497",hearts:"unicode/2665",heavy_check_mark:"unicode/2714",heavy_division_sign:"unicode/2797",heavy_dollar_sign:"unicode/1f4b2",heavy_exclamation_mark:"unicode/2757",heavy_heart_exclamation:"unicode/2763",heavy_minus_sign:"unicode/2796",heavy_multiplication_x:"unicode/2716",heavy_plus_sign:"unicode/2795",hedgehog:"unicode/1f994",helicopter:"unicode/1f681",herb:"unicode/1f33f",hibiscus:"unicode/1f33a",high_brightness:"unicode/1f506",high_heel:"unicode/1f460",hiking_boot:"unicode/1f97e",hindu_temple:"unicode/1f6d5",hippopotamus:"unicode/1f99b",hocho:"unicode/1f52a",hole:"unicode/1f573",honduras:"unicode/1f1ed-1f1f3",honey_pot:"unicode/1f36f",honeybee:"unicode/1f41d",hong_kong:"unicode/1f1ed-1f1f0",horse:"unicode/1f434",horse_racing:"unicode/1f3c7",hospital:"unicode/1f3e5",hot_face:"unicode/1f975",hot_pepper:"unicode/1f336",hotdog:"unicode/1f32d",hotel:"unicode/1f3e8",hotsprings:"unicode/2668",hourglass:"unicode/231b",hourglass_flowing_sand:"unicode/23f3",house:"unicode/1f3e0",house_with_garden:"unicode/1f3e1",houses:"unicode/1f3d8",hugs:"unicode/1f917",hungary:"unicode/1f1ed-1f1fa",hurtrealbad:"hurtrealbad",hushed:"unicode/1f62f",ice_cream:"unicode/1f368",ice_cube:"unicode/1f9ca",ice_hockey:"unicode/1f3d2",ice_skate:"unicode/26f8",icecream:"unicode/1f366",iceland:"unicode/1f1ee-1f1f8",id:"unicode/1f194",ideograph_advantage:"unicode/1f250",imp:"unicode/1f47f",inbox_tray:"unicode/1f4e5",incoming_envelope:"unicode/1f4e8",india:"unicode/1f1ee-1f1f3",indonesia:"unicode/1f1ee-1f1e9",infinity:"unicode/267e",information_desk_person:"unicode/1f481",information_source:"unicode/2139",innocent:"unicode/1f607",interrobang:"unicode/2049",iphone:"unicode/1f4f1",iran:"unicode/1f1ee-1f1f7",iraq:"unicode/1f1ee-1f1f6",ireland:"unicode/1f1ee-1f1ea",isle_of_man:"unicode/1f1ee-1f1f2",israel:"unicode/1f1ee-1f1f1",it:"unicode/1f1ee-1f1f9",izakaya_lantern:"unicode/1f3ee",jack_o_lantern:"unicode/1f383",jamaica:"unicode/1f1ef-1f1f2",japan:"unicode/1f5fe",japanese_castle:"unicode/1f3ef",japanese_goblin:"unicode/1f47a",japanese_ogre:"unicode/1f479",jeans:"unicode/1f456",jersey:"unicode/1f1ef-1f1ea",jigsaw:"unicode/1f9e9",jordan:"unicode/1f1ef-1f1f4",joy:"unicode/1f602",joy_cat:"unicode/1f639",joystick:"unicode/1f579",jp:"unicode/1f1ef-1f1f5",judge:"unicode/1f9d1-2696",juggling_person:"unicode/1f939",kaaba:"unicode/1f54b",kangaroo:"unicode/1f998",kazakhstan:"unicode/1f1f0-1f1ff",kenya:"unicode/1f1f0-1f1ea",key:"unicode/1f511",keyboard:"unicode/2328",keycap_ten:"unicode/1f51f",kick_scooter:"unicode/1f6f4",kimono:"unicode/1f458",kiribati:"unicode/1f1f0-1f1ee",kiss:"unicode/1f48b",kissing:"unicode/1f617",kissing_cat:"unicode/1f63d",kissing_closed_eyes:"unicode/1f61a",kissing_heart:"unicode/1f618",kissing_smiling_eyes:"unicode/1f619",kite:"unicode/1fa81",kiwi_fruit:"unicode/1f95d",kneeling_man:"unicode/1f9ce-2642",kneeling_person:"unicode/1f9ce",kneeling_woman:"unicode/1f9ce-2640",knife:"unicode/1f52a",koala:"unicode/1f428",koko:"unicode/1f201",kosovo:"unicode/1f1fd-1f1f0",kr:"unicode/1f1f0-1f1f7",kuwait:"unicode/1f1f0-1f1fc",kyrgyzstan:"unicode/1f1f0-1f1ec",lab_coat:"unicode/1f97c",label:"unicode/1f3f7",lacrosse:"unicode/1f94d",lantern:"unicode/1f3ee",laos:"unicode/1f1f1-1f1e6",large_blue_circle:"unicode/1f535",large_blue_diamond:"unicode/1f537",large_orange_diamond:"unicode/1f536",last_quarter_moon:"unicode/1f317",last_quarter_moon_with_face:"unicode/1f31c",latin_cross:"unicode/271d",latvia:"unicode/1f1f1-1f1fb",laughing:"unicode/1f606",leafy_green:"unicode/1f96c",leaves:"unicode/1f343",lebanon:"unicode/1f1f1-1f1e7",ledger:"unicode/1f4d2",left_luggage:"unicode/1f6c5",left_right_arrow:"unicode/2194",left_speech_bubble:"unicode/1f5e8",leftwards_arrow_with_hook:"unicode/21a9",leg:"unicode/1f9b5",lemon:"unicode/1f34b",leo:"unicode/264c",leopard:"unicode/1f406",lesotho:"unicode/1f1f1-1f1f8",level_slider:"unicode/1f39a",liberia:"unicode/1f1f1-1f1f7",libra:"unicode/264e",libya:"unicode/1f1f1-1f1fe",liechtenstein:"unicode/1f1f1-1f1ee",light_rail:"unicode/1f688",link:"unicode/1f517",lion:"unicode/1f981",lips:"unicode/1f444",lipstick:"unicode/1f484",lithuania:"unicode/1f1f1-1f1f9",lizard:"unicode/1f98e",llama:"unicode/1f999",lobster:"unicode/1f99e",lock:"unicode/1f512",lock_with_ink_pen:"unicode/1f50f",lollipop:"unicode/1f36d",loop:"unicode/27bf",lotion_bottle:"unicode/1f9f4",lotus_position:"unicode/1f9d8",lotus_position_man:"unicode/1f9d8-2642",lotus_position_woman:"unicode/1f9d8-2640",loud_sound:"unicode/1f50a",loudspeaker:"unicode/1f4e2",love_hotel:"unicode/1f3e9",love_letter:"unicode/1f48c",love_you_gesture:"unicode/1f91f",low_brightness:"unicode/1f505",luggage:"unicode/1f9f3",luxembourg:"unicode/1f1f1-1f1fa",lying_face:"unicode/1f925",m:"unicode/24c2",macau:"unicode/1f1f2-1f1f4",macedonia:"unicode/1f1f2-1f1f0",madagascar:"unicode/1f1f2-1f1ec",mag:"unicode/1f50d",mag_right:"unicode/1f50e",mage:"unicode/1f9d9",mage_man:"unicode/1f9d9-2642",mage_woman:"unicode/1f9d9-2640",magnet:"unicode/1f9f2",mahjong:"unicode/1f004",mailbox:"unicode/1f4eb",mailbox_closed:"unicode/1f4ea",mailbox_with_mail:"unicode/1f4ec",mailbox_with_no_mail:"unicode/1f4ed",malawi:"unicode/1f1f2-1f1fc",malaysia:"unicode/1f1f2-1f1fe",maldives:"unicode/1f1f2-1f1fb",male_detective:"unicode/1f575-2642",male_sign:"unicode/2642",mali:"unicode/1f1f2-1f1f1",malta:"unicode/1f1f2-1f1f9",man:"unicode/1f468",man_artist:"unicode/1f468-1f3a8",man_astronaut:"unicode/1f468-1f680",man_cartwheeling:"unicode/1f938-2642",man_cook:"unicode/1f468-1f373",man_dancing:"unicode/1f57a",man_facepalming:"unicode/1f926-2642",man_factory_worker:"unicode/1f468-1f3ed",man_farmer:"unicode/1f468-1f33e",man_firefighter:"unicode/1f468-1f692",man_health_worker:"unicode/1f468-2695",man_in_manual_wheelchair:"unicode/1f468-1f9bd",man_in_motorized_wheelchair:"unicode/1f468-1f9bc",man_in_tuxedo:"unicode/1f935",man_judge:"unicode/1f468-2696",man_juggling:"unicode/1f939-2642",man_mechanic:"unicode/1f468-1f527",man_office_worker:"unicode/1f468-1f4bc",man_pilot:"unicode/1f468-2708",man_playing_handball:"unicode/1f93e-2642",man_playing_water_polo:"unicode/1f93d-2642",man_scientist:"unicode/1f468-1f52c",man_shrugging:"unicode/1f937-2642",man_singer:"unicode/1f468-1f3a4",man_student:"unicode/1f468-1f393",man_teacher:"unicode/1f468-1f3eb",man_technologist:"unicode/1f468-1f4bb",man_with_gua_pi_mao:"unicode/1f472",man_with_probing_cane:"unicode/1f468-1f9af",man_with_turban:"unicode/1f473-2642",mandarin:"unicode/1f34a",mango:"unicode/1f96d",mans_shoe:"unicode/1f45e",mantelpiece_clock:"unicode/1f570",manual_wheelchair:"unicode/1f9bd",maple_leaf:"unicode/1f341",marshall_islands:"unicode/1f1f2-1f1ed",martial_arts_uniform:"unicode/1f94b",martinique:"unicode/1f1f2-1f1f6",mask:"unicode/1f637",massage:"unicode/1f486",massage_man:"unicode/1f486-2642",massage_woman:"unicode/1f486-2640",mate:"unicode/1f9c9",mauritania:"unicode/1f1f2-1f1f7",mauritius:"unicode/1f1f2-1f1fa",mayotte:"unicode/1f1fe-1f1f9",meat_on_bone:"unicode/1f356",mechanic:"unicode/1f9d1-1f527",mechanical_arm:"unicode/1f9be",mechanical_leg:"unicode/1f9bf",medal_military:"unicode/1f396",medal_sports:"unicode/1f3c5",medical_symbol:"unicode/2695",mega:"unicode/1f4e3",melon:"unicode/1f348",memo:"unicode/1f4dd",men_wrestling:"unicode/1f93c-2642",menorah:"unicode/1f54e",mens:"unicode/1f6b9",mermaid:"unicode/1f9dc-2640",merman:"unicode/1f9dc-2642",merperson:"unicode/1f9dc",metal:"unicode/1f918",metro:"unicode/1f687",mexico:"unicode/1f1f2-1f1fd",microbe:"unicode/1f9a0",micronesia:"unicode/1f1eb-1f1f2",microphone:"unicode/1f3a4",microscope:"unicode/1f52c",middle_finger:"unicode/1f595",milk_glass:"unicode/1f95b",milky_way:"unicode/1f30c",minibus:"unicode/1f690",minidisc:"unicode/1f4bd",mobile_phone_off:"unicode/1f4f4",moldova:"unicode/1f1f2-1f1e9",monaco:"unicode/1f1f2-1f1e8",money_mouth_face:"unicode/1f911",money_with_wings:"unicode/1f4b8",moneybag:"unicode/1f4b0",mongolia:"unicode/1f1f2-1f1f3",monkey:"unicode/1f412",monkey_face:"unicode/1f435",monocle_face:"unicode/1f9d0",monorail:"unicode/1f69d",montenegro:"unicode/1f1f2-1f1ea",montserrat:"unicode/1f1f2-1f1f8",moon:"unicode/1f314",moon_cake:"unicode/1f96e",morocco:"unicode/1f1f2-1f1e6",mortar_board:"unicode/1f393",mosque:"unicode/1f54c",mosquito:"unicode/1f99f",motor_boat:"unicode/1f6e5",motor_scooter:"unicode/1f6f5",motorcycle:"unicode/1f3cd",motorized_wheelchair:"unicode/1f9bc",motorway:"unicode/1f6e3",mount_fuji:"unicode/1f5fb",mountain:"unicode/26f0",mountain_bicyclist:"unicode/1f6b5",mountain_biking_man:"unicode/1f6b5-2642",mountain_biking_woman:"unicode/1f6b5-2640",mountain_cableway:"unicode/1f6a0",mountain_railway:"unicode/1f69e",mountain_snow:"unicode/1f3d4",mouse:"unicode/1f42d",mouse2:"unicode/1f401",movie_camera:"unicode/1f3a5",moyai:"unicode/1f5ff",mozambique:"unicode/1f1f2-1f1ff",mrs_claus:"unicode/1f936",muscle:"unicode/1f4aa",mushroom:"unicode/1f344",musical_keyboard:"unicode/1f3b9",musical_note:"unicode/1f3b5",musical_score:"unicode/1f3bc",mute:"unicode/1f507",myanmar:"unicode/1f1f2-1f1f2",nail_care:"unicode/1f485",name_badge:"unicode/1f4db",namibia:"unicode/1f1f3-1f1e6",national_park:"unicode/1f3de",nauru:"unicode/1f1f3-1f1f7",nauseated_face:"unicode/1f922",nazar_amulet:"unicode/1f9ff",neckbeard:"neckbeard",necktie:"unicode/1f454",negative_squared_cross_mark:"unicode/274e",nepal:"unicode/1f1f3-1f1f5",nerd_face:"unicode/1f913",netherlands:"unicode/1f1f3-1f1f1",neutral_face:"unicode/1f610",new:"unicode/1f195",new_caledonia:"unicode/1f1f3-1f1e8",new_moon:"unicode/1f311",new_moon_with_face:"unicode/1f31a",new_zealand:"unicode/1f1f3-1f1ff",newspaper:"unicode/1f4f0",newspaper_roll:"unicode/1f5de",next_track_button:"unicode/23ed",ng:"unicode/1f196",ng_man:"unicode/1f645-2642",ng_woman:"unicode/1f645-2640",nicaragua:"unicode/1f1f3-1f1ee",niger:"unicode/1f1f3-1f1ea",nigeria:"unicode/1f1f3-1f1ec",night_with_stars:"unicode/1f303",nine:"unicode/0039-20e3",niue:"unicode/1f1f3-1f1fa",no_bell:"unicode/1f515",no_bicycles:"unicode/1f6b3",no_entry:"unicode/26d4",no_entry_sign:"unicode/1f6ab",no_good:"unicode/1f645",no_good_man:"unicode/1f645-2642",no_good_woman:"unicode/1f645-2640",no_mobile_phones:"unicode/1f4f5",no_mouth:"unicode/1f636",no_pedestrians:"unicode/1f6b7",no_smoking:"unicode/1f6ad","non-potable_water":"unicode/1f6b1",norfolk_island:"unicode/1f1f3-1f1eb",north_korea:"unicode/1f1f0-1f1f5",northern_mariana_islands:"unicode/1f1f2-1f1f5",norway:"unicode/1f1f3-1f1f4",nose:"unicode/1f443",notebook:"unicode/1f4d3",notebook_with_decorative_cover:"unicode/1f4d4",notes:"unicode/1f3b6",nut_and_bolt:"unicode/1f529",o:"unicode/2b55",o2:"unicode/1f17e",ocean:"unicode/1f30a",octocat:"octocat",octopus:"unicode/1f419",oden:"unicode/1f362",office:"unicode/1f3e2",office_worker:"unicode/1f9d1-1f4bc",oil_drum:"unicode/1f6e2",ok:"unicode/1f197",ok_hand:"unicode/1f44c",ok_man:"unicode/1f646-2642",ok_person:"unicode/1f646",ok_woman:"unicode/1f646-2640",old_key:"unicode/1f5dd",older_adult:"unicode/1f9d3",older_man:"unicode/1f474",older_woman:"unicode/1f475",om:"unicode/1f549",oman:"unicode/1f1f4-1f1f2",on:"unicode/1f51b",oncoming_automobile:"unicode/1f698",oncoming_bus:"unicode/1f68d",oncoming_police_car:"unicode/1f694",oncoming_taxi:"unicode/1f696",one:"unicode/0031-20e3",one_piece_swimsuit:"unicode/1fa71",onion:"unicode/1f9c5",open_book:"unicode/1f4d6",open_file_folder:"unicode/1f4c2",open_hands:"unicode/1f450",open_mouth:"unicode/1f62e",open_umbrella:"unicode/2602",ophiuchus:"unicode/26ce",orange:"unicode/1f34a",orange_book:"unicode/1f4d9",orange_circle:"unicode/1f7e0",orange_heart:"unicode/1f9e1",orange_square:"unicode/1f7e7",orangutan:"unicode/1f9a7",orthodox_cross:"unicode/2626",otter:"unicode/1f9a6",outbox_tray:"unicode/1f4e4",owl:"unicode/1f989",ox:"unicode/1f402",oyster:"unicode/1f9aa",package:"unicode/1f4e6",page_facing_up:"unicode/1f4c4",page_with_curl:"unicode/1f4c3",pager:"unicode/1f4df",paintbrush:"unicode/1f58c",pakistan:"unicode/1f1f5-1f1f0",palau:"unicode/1f1f5-1f1fc",palestinian_territories:"unicode/1f1f5-1f1f8",palm_tree:"unicode/1f334",palms_up_together:"unicode/1f932",panama:"unicode/1f1f5-1f1e6",pancakes:"unicode/1f95e",panda_face:"unicode/1f43c",paperclip:"unicode/1f4ce",paperclips:"unicode/1f587",papua_new_guinea:"unicode/1f1f5-1f1ec",parachute:"unicode/1fa82",paraguay:"unicode/1f1f5-1f1fe",parasol_on_ground:"unicode/26f1",parking:"unicode/1f17f",parrot:"unicode/1f99c",part_alternation_mark:"unicode/303d",partly_sunny:"unicode/26c5",partying_face:"unicode/1f973",passenger_ship:"unicode/1f6f3",passport_control:"unicode/1f6c2",pause_button:"unicode/23f8",paw_prints:"unicode/1f43e",peace_symbol:"unicode/262e",peach:"unicode/1f351",peacock:"unicode/1f99a",peanuts:"unicode/1f95c",pear:"unicode/1f350",pen:"unicode/1f58a",pencil:"unicode/1f4dd",pencil2:"unicode/270f",penguin:"unicode/1f427",pensive:"unicode/1f614",people_holding_hands:"unicode/1f9d1-1f91d-1f9d1",performing_arts:"unicode/1f3ad",persevere:"unicode/1f623",person_bald:"unicode/1f9d1-1f9b2",person_curly_hair:"unicode/1f9d1-1f9b1",person_fencing:"unicode/1f93a",person_in_manual_wheelchair:"unicode/1f9d1-1f9bd",person_in_motorized_wheelchair:"unicode/1f9d1-1f9bc",person_red_hair:"unicode/1f9d1-1f9b0",person_white_hair:"unicode/1f9d1-1f9b3",person_with_probing_cane:"unicode/1f9d1-1f9af",person_with_turban:"unicode/1f473",peru:"unicode/1f1f5-1f1ea",petri_dish:"unicode/1f9eb",philippines:"unicode/1f1f5-1f1ed",phone:"unicode/260e",pick:"unicode/26cf",pie:"unicode/1f967",pig:"unicode/1f437",pig2:"unicode/1f416",pig_nose:"unicode/1f43d",pill:"unicode/1f48a",pilot:"unicode/1f9d1-2708",pinching_hand:"unicode/1f90f",pineapple:"unicode/1f34d",ping_pong:"unicode/1f3d3",pirate_flag:"unicode/1f3f4-2620",pisces:"unicode/2653",pitcairn_islands:"unicode/1f1f5-1f1f3",pizza:"unicode/1f355",place_of_worship:"unicode/1f6d0",plate_with_cutlery:"unicode/1f37d",play_or_pause_button:"unicode/23ef",pleading_face:"unicode/1f97a",point_down:"unicode/1f447",point_left:"unicode/1f448",point_right:"unicode/1f449",point_up:"unicode/261d",point_up_2:"unicode/1f446",poland:"unicode/1f1f5-1f1f1",police_car:"unicode/1f693",police_officer:"unicode/1f46e",policeman:"unicode/1f46e-2642",policewoman:"unicode/1f46e-2640",poodle:"unicode/1f429",poop:"unicode/1f4a9",popcorn:"unicode/1f37f",portugal:"unicode/1f1f5-1f1f9",post_office:"unicode/1f3e3",postal_horn:"unicode/1f4ef",postbox:"unicode/1f4ee",potable_water:"unicode/1f6b0",potato:"unicode/1f954",pouch:"unicode/1f45d",poultry_leg:"unicode/1f357",pound:"unicode/1f4b7",pout:"unicode/1f621",pouting_cat:"unicode/1f63e",pouting_face:"unicode/1f64e",pouting_man:"unicode/1f64e-2642",pouting_woman:"unicode/1f64e-2640",pray:"unicode/1f64f",prayer_beads:"unicode/1f4ff",pregnant_woman:"unicode/1f930",pretzel:"unicode/1f968",previous_track_button:"unicode/23ee",prince:"unicode/1f934",princess:"unicode/1f478",printer:"unicode/1f5a8",probing_cane:"unicode/1f9af",puerto_rico:"unicode/1f1f5-1f1f7",punch:"unicode/1f44a",purple_circle:"unicode/1f7e3",purple_heart:"unicode/1f49c",purple_square:"unicode/1f7ea",purse:"unicode/1f45b",pushpin:"unicode/1f4cc",put_litter_in_its_place:"unicode/1f6ae",qatar:"unicode/1f1f6-1f1e6",question:"unicode/2753",rabbit:"unicode/1f430",rabbit2:"unicode/1f407",raccoon:"unicode/1f99d",racehorse:"unicode/1f40e",racing_car:"unicode/1f3ce",radio:"unicode/1f4fb",radio_button:"unicode/1f518",radioactive:"unicode/2622",rage:"unicode/1f621",rage1:"rage1",rage2:"rage2",rage3:"rage3",rage4:"rage4",railway_car:"unicode/1f683",railway_track:"unicode/1f6e4",rainbow:"unicode/1f308",rainbow_flag:"unicode/1f3f3-1f308",raised_back_of_hand:"unicode/1f91a",raised_eyebrow:"unicode/1f928",raised_hand:"unicode/270b",raised_hand_with_fingers_splayed:"unicode/1f590",raised_hands:"unicode/1f64c",raising_hand:"unicode/1f64b",raising_hand_man:"unicode/1f64b-2642",raising_hand_woman:"unicode/1f64b-2640",ram:"unicode/1f40f",ramen:"unicode/1f35c",rat:"unicode/1f400",razor:"unicode/1fa92",receipt:"unicode/1f9fe",record_button:"unicode/23fa",recycle:"unicode/267b",red_car:"unicode/1f697",red_circle:"unicode/1f534",red_envelope:"unicode/1f9e7",red_haired_man:"unicode/1f468-1f9b0",red_haired_woman:"unicode/1f469-1f9b0",red_square:"unicode/1f7e5",registered:"unicode/00ae",relaxed:"unicode/263a",relieved:"unicode/1f60c",reminder_ribbon:"unicode/1f397",repeat:"unicode/1f501",repeat_one:"unicode/1f502",rescue_worker_helmet:"unicode/26d1",restroom:"unicode/1f6bb",reunion:"unicode/1f1f7-1f1ea",revolving_hearts:"unicode/1f49e",rewind:"unicode/23ea",rhinoceros:"unicode/1f98f",ribbon:"unicode/1f380",rice:"unicode/1f35a",rice_ball:"unicode/1f359",rice_cracker:"unicode/1f358",rice_scene:"unicode/1f391",right_anger_bubble:"unicode/1f5ef",ring:"unicode/1f48d",ringed_planet:"unicode/1fa90",robot:"unicode/1f916",rocket:"unicode/1f680",rofl:"unicode/1f923",roll_eyes:"unicode/1f644",roll_of_paper:"unicode/1f9fb",roller_coaster:"unicode/1f3a2",romania:"unicode/1f1f7-1f1f4",rooster:"unicode/1f413",rose:"unicode/1f339",rosette:"unicode/1f3f5",rotating_light:"unicode/1f6a8",round_pushpin:"unicode/1f4cd",rowboat:"unicode/1f6a3",rowing_man:"unicode/1f6a3-2642",rowing_woman:"unicode/1f6a3-2640",ru:"unicode/1f1f7-1f1fa",rugby_football:"unicode/1f3c9",runner:"unicode/1f3c3",running:"unicode/1f3c3",running_man:"unicode/1f3c3-2642",running_shirt_with_sash:"unicode/1f3bd",running_woman:"unicode/1f3c3-2640",rwanda:"unicode/1f1f7-1f1fc",sa:"unicode/1f202",safety_pin:"unicode/1f9f7",safety_vest:"unicode/1f9ba",sagittarius:"unicode/2650",sailboat:"unicode/26f5",sake:"unicode/1f376",salt:"unicode/1f9c2",samoa:"unicode/1f1fc-1f1f8",san_marino:"unicode/1f1f8-1f1f2",sandal:"unicode/1f461",sandwich:"unicode/1f96a",santa:"unicode/1f385",sao_tome_principe:"unicode/1f1f8-1f1f9",sari:"unicode/1f97b",sassy_man:"unicode/1f481-2642",sassy_woman:"unicode/1f481-2640",satellite:"unicode/1f4e1",satisfied:"unicode/1f606",saudi_arabia:"unicode/1f1f8-1f1e6",sauna_man:"unicode/1f9d6-2642",sauna_person:"unicode/1f9d6",sauna_woman:"unicode/1f9d6-2640",sauropod:"unicode/1f995",saxophone:"unicode/1f3b7",scarf:"unicode/1f9e3",school:"unicode/1f3eb",school_satchel:"unicode/1f392",scientist:"unicode/1f9d1-1f52c",scissors:"unicode/2702",scorpion:"unicode/1f982",scorpius:"unicode/264f",scotland:"unicode/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",scream:"unicode/1f631",scream_cat:"unicode/1f640",scroll:"unicode/1f4dc",seat:"unicode/1f4ba",secret:"unicode/3299",see_no_evil:"unicode/1f648",seedling:"unicode/1f331",selfie:"unicode/1f933",senegal:"unicode/1f1f8-1f1f3",serbia:"unicode/1f1f7-1f1f8",service_dog:"unicode/1f415-1f9ba",seven:"unicode/0037-20e3",seychelles:"unicode/1f1f8-1f1e8",shallow_pan_of_food:"unicode/1f958",shamrock:"unicode/2618",shark:"unicode/1f988",shaved_ice:"unicode/1f367",sheep:"unicode/1f411",shell:"unicode/1f41a",shield:"unicode/1f6e1",shinto_shrine:"unicode/26e9",ship:"unicode/1f6a2",shipit:"shipit",shirt:"unicode/1f455",shit:"unicode/1f4a9",shoe:"unicode/1f45e",shopping:"unicode/1f6cd",shopping_cart:"unicode/1f6d2",shorts:"unicode/1fa73",shower:"unicode/1f6bf",shrimp:"unicode/1f990",shrug:"unicode/1f937",shushing_face:"unicode/1f92b",sierra_leone:"unicode/1f1f8-1f1f1",signal_strength:"unicode/1f4f6",singapore:"unicode/1f1f8-1f1ec",singer:"unicode/1f9d1-1f3a4",sint_maarten:"unicode/1f1f8-1f1fd",six:"unicode/0036-20e3",six_pointed_star:"unicode/1f52f",skateboard:"unicode/1f6f9",ski:"unicode/1f3bf",skier:"unicode/26f7",skull:"unicode/1f480",skull_and_crossbones:"unicode/2620",skunk:"unicode/1f9a8",sled:"unicode/1f6f7",sleeping:"unicode/1f634",sleeping_bed:"unicode/1f6cc",sleepy:"unicode/1f62a",slightly_frowning_face:"unicode/1f641",slightly_smiling_face:"unicode/1f642",slot_machine:"unicode/1f3b0",sloth:"unicode/1f9a5",slovakia:"unicode/1f1f8-1f1f0",slovenia:"unicode/1f1f8-1f1ee",small_airplane:"unicode/1f6e9",small_blue_diamond:"unicode/1f539",small_orange_diamond:"unicode/1f538",small_red_triangle:"unicode/1f53a",small_red_triangle_down:"unicode/1f53b",smile:"unicode/1f604",smile_cat:"unicode/1f638",smiley:"unicode/1f603",smiley_cat:"unicode/1f63a",smiling_face_with_three_hearts:"unicode/1f970",smiling_imp:"unicode/1f608",smirk:"unicode/1f60f",smirk_cat:"unicode/1f63c",smoking:"unicode/1f6ac",snail:"unicode/1f40c",snake:"unicode/1f40d",sneezing_face:"unicode/1f927",snowboarder:"unicode/1f3c2",snowflake:"unicode/2744",snowman:"unicode/26c4",snowman_with_snow:"unicode/2603",soap:"unicode/1f9fc",sob:"unicode/1f62d",soccer:"unicode/26bd",socks:"unicode/1f9e6",softball:"unicode/1f94e",solomon_islands:"unicode/1f1f8-1f1e7",somalia:"unicode/1f1f8-1f1f4",soon:"unicode/1f51c",sos:"unicode/1f198",sound:"unicode/1f509",south_africa:"unicode/1f1ff-1f1e6",south_georgia_south_sandwich_islands:"unicode/1f1ec-1f1f8",south_sudan:"unicode/1f1f8-1f1f8",space_invader:"unicode/1f47e",spades:"unicode/2660",spaghetti:"unicode/1f35d",sparkle:"unicode/2747",sparkler:"unicode/1f387",sparkles:"unicode/2728",sparkling_heart:"unicode/1f496",speak_no_evil:"unicode/1f64a",speaker:"unicode/1f508",speaking_head:"unicode/1f5e3",speech_balloon:"unicode/1f4ac",speedboat:"unicode/1f6a4",spider:"unicode/1f577",spider_web:"unicode/1f578",spiral_calendar:"unicode/1f5d3",spiral_notepad:"unicode/1f5d2",sponge:"unicode/1f9fd",spoon:"unicode/1f944",squid:"unicode/1f991",sri_lanka:"unicode/1f1f1-1f1f0",st_barthelemy:"unicode/1f1e7-1f1f1",st_helena:"unicode/1f1f8-1f1ed",st_kitts_nevis:"unicode/1f1f0-1f1f3",st_lucia:"unicode/1f1f1-1f1e8",st_martin:"unicode/1f1f2-1f1eb",st_pierre_miquelon:"unicode/1f1f5-1f1f2",st_vincent_grenadines:"unicode/1f1fb-1f1e8",stadium:"unicode/1f3df",standing_man:"unicode/1f9cd-2642",standing_person:"unicode/1f9cd",standing_woman:"unicode/1f9cd-2640",star:"unicode/2b50",star2:"unicode/1f31f",star_and_crescent:"unicode/262a",star_of_david:"unicode/2721",star_struck:"unicode/1f929",stars:"unicode/1f320",station:"unicode/1f689",statue_of_liberty:"unicode/1f5fd",steam_locomotive:"unicode/1f682",stethoscope:"unicode/1fa7a",stew:"unicode/1f372",stop_button:"unicode/23f9",stop_sign:"unicode/1f6d1",stopwatch:"unicode/23f1",straight_ruler:"unicode/1f4cf",strawberry:"unicode/1f353",stuck_out_tongue:"unicode/1f61b",stuck_out_tongue_closed_eyes:"unicode/1f61d",stuck_out_tongue_winking_eye:"unicode/1f61c",student:"unicode/1f9d1-1f393",studio_microphone:"unicode/1f399",stuffed_flatbread:"unicode/1f959",sudan:"unicode/1f1f8-1f1e9",sun_behind_large_cloud:"unicode/1f325",sun_behind_rain_cloud:"unicode/1f326",sun_behind_small_cloud:"unicode/1f324",sun_with_face:"unicode/1f31e",sunflower:"unicode/1f33b",sunglasses:"unicode/1f60e",sunny:"unicode/2600",sunrise:"unicode/1f305",sunrise_over_mountains:"unicode/1f304",superhero:"unicode/1f9b8",superhero_man:"unicode/1f9b8-2642",superhero_woman:"unicode/1f9b8-2640",supervillain:"unicode/1f9b9",supervillain_man:"unicode/1f9b9-2642",supervillain_woman:"unicode/1f9b9-2640",surfer:"unicode/1f3c4",surfing_man:"unicode/1f3c4-2642",surfing_woman:"unicode/1f3c4-2640",suriname:"unicode/1f1f8-1f1f7",sushi:"unicode/1f363",suspect:"suspect",suspension_railway:"unicode/1f69f",svalbard_jan_mayen:"unicode/1f1f8-1f1ef",swan:"unicode/1f9a2",swaziland:"unicode/1f1f8-1f1ff",sweat:"unicode/1f613",sweat_drops:"unicode/1f4a6",sweat_smile:"unicode/1f605",sweden:"unicode/1f1f8-1f1ea",sweet_potato:"unicode/1f360",swim_brief:"unicode/1fa72",swimmer:"unicode/1f3ca",swimming_man:"unicode/1f3ca-2642",swimming_woman:"unicode/1f3ca-2640",switzerland:"unicode/1f1e8-1f1ed",symbols:"unicode/1f523",synagogue:"unicode/1f54d",syria:"unicode/1f1f8-1f1fe",syringe:"unicode/1f489","t-rex":"unicode/1f996",taco:"unicode/1f32e",tada:"unicode/1f389",taiwan:"unicode/1f1f9-1f1fc",tajikistan:"unicode/1f1f9-1f1ef",takeout_box:"unicode/1f961",tanabata_tree:"unicode/1f38b",tangerine:"unicode/1f34a",tanzania:"unicode/1f1f9-1f1ff",taurus:"unicode/2649",taxi:"unicode/1f695",tea:"unicode/1f375",teacher:"unicode/1f9d1-1f3eb",technologist:"unicode/1f9d1-1f4bb",teddy_bear:"unicode/1f9f8",telephone:"unicode/260e",telephone_receiver:"unicode/1f4de",telescope:"unicode/1f52d",tennis:"unicode/1f3be",tent:"unicode/26fa",test_tube:"unicode/1f9ea",thailand:"unicode/1f1f9-1f1ed",thermometer:"unicode/1f321",thinking:"unicode/1f914",thought_balloon:"unicode/1f4ad",thread:"unicode/1f9f5",three:"unicode/0033-20e3",thumbsdown:"unicode/1f44e",thumbsup:"unicode/1f44d",ticket:"unicode/1f3ab",tickets:"unicode/1f39f",tiger:"unicode/1f42f",tiger2:"unicode/1f405",timer_clock:"unicode/23f2",timor_leste:"unicode/1f1f9-1f1f1",tipping_hand_man:"unicode/1f481-2642",tipping_hand_person:"unicode/1f481",tipping_hand_woman:"unicode/1f481-2640",tired_face:"unicode/1f62b",tm:"unicode/2122",togo:"unicode/1f1f9-1f1ec",toilet:"unicode/1f6bd",tokelau:"unicode/1f1f9-1f1f0",tokyo_tower:"unicode/1f5fc",tomato:"unicode/1f345",tonga:"unicode/1f1f9-1f1f4",tongue:"unicode/1f445",toolbox:"unicode/1f9f0",tooth:"unicode/1f9b7",top:"unicode/1f51d",tophat:"unicode/1f3a9",tornado:"unicode/1f32a",tr:"unicode/1f1f9-1f1f7",trackball:"unicode/1f5b2",tractor:"unicode/1f69c",traffic_light:"unicode/1f6a5",train:"unicode/1f68b",train2:"unicode/1f686",tram:"unicode/1f68a",triangular_flag_on_post:"unicode/1f6a9",triangular_ruler:"unicode/1f4d0",trident:"unicode/1f531",trinidad_tobago:"unicode/1f1f9-1f1f9",tristan_da_cunha:"unicode/1f1f9-1f1e6",triumph:"unicode/1f624",trolleybus:"unicode/1f68e",trollface:"trollface",trophy:"unicode/1f3c6",tropical_drink:"unicode/1f379",tropical_fish:"unicode/1f420",truck:"unicode/1f69a",trumpet:"unicode/1f3ba",tshirt:"unicode/1f455",tulip:"unicode/1f337",tumbler_glass:"unicode/1f943",tunisia:"unicode/1f1f9-1f1f3",turkey:"unicode/1f983",turkmenistan:"unicode/1f1f9-1f1f2",turks_caicos_islands:"unicode/1f1f9-1f1e8",turtle:"unicode/1f422",tuvalu:"unicode/1f1f9-1f1fb",tv:"unicode/1f4fa",twisted_rightwards_arrows:"unicode/1f500",two:"unicode/0032-20e3",two_hearts:"unicode/1f495",two_men_holding_hands:"unicode/1f46c",two_women_holding_hands:"unicode/1f46d",u5272:"unicode/1f239",u5408:"unicode/1f234",u55b6:"unicode/1f23a",u6307:"unicode/1f22f",u6708:"unicode/1f237",u6709:"unicode/1f236",u6e80:"unicode/1f235",u7121:"unicode/1f21a",u7533:"unicode/1f238",u7981:"unicode/1f232",u7a7a:"unicode/1f233",uganda:"unicode/1f1fa-1f1ec",uk:"unicode/1f1ec-1f1e7",ukraine:"unicode/1f1fa-1f1e6",umbrella:"unicode/2614",unamused:"unicode/1f612",underage:"unicode/1f51e",unicorn:"unicode/1f984",united_arab_emirates:"unicode/1f1e6-1f1ea",united_nations:"unicode/1f1fa-1f1f3",unlock:"unicode/1f513",up:"unicode/1f199",upside_down_face:"unicode/1f643",uruguay:"unicode/1f1fa-1f1fe",us:"unicode/1f1fa-1f1f8",us_outlying_islands:"unicode/1f1fa-1f1f2",us_virgin_islands:"unicode/1f1fb-1f1ee",uzbekistan:"unicode/1f1fa-1f1ff",v:"unicode/270c",vampire:"unicode/1f9db",vampire_man:"unicode/1f9db-2642",vampire_woman:"unicode/1f9db-2640",vanuatu:"unicode/1f1fb-1f1fa",vatican_city:"unicode/1f1fb-1f1e6",venezuela:"unicode/1f1fb-1f1ea",vertical_traffic_light:"unicode/1f6a6",vhs:"unicode/1f4fc",vibration_mode:"unicode/1f4f3",video_camera:"unicode/1f4f9",video_game:"unicode/1f3ae",vietnam:"unicode/1f1fb-1f1f3",violin:"unicode/1f3bb",virgo:"unicode/264d",volcano:"unicode/1f30b",volleyball:"unicode/1f3d0",vomiting_face:"unicode/1f92e",vs:"unicode/1f19a",vulcan_salute:"unicode/1f596",waffle:"unicode/1f9c7",wales:"unicode/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",walking:"unicode/1f6b6",walking_man:"unicode/1f6b6-2642",walking_woman:"unicode/1f6b6-2640",wallis_futuna:"unicode/1f1fc-1f1eb",waning_crescent_moon:"unicode/1f318",waning_gibbous_moon:"unicode/1f316",warning:"unicode/26a0",wastebasket:"unicode/1f5d1",watch:"unicode/231a",water_buffalo:"unicode/1f403",water_polo:"unicode/1f93d",watermelon:"unicode/1f349",wave:"unicode/1f44b",wavy_dash:"unicode/3030",waxing_crescent_moon:"unicode/1f312",waxing_gibbous_moon:"unicode/1f314",wc:"unicode/1f6be",weary:"unicode/1f629",wedding:"unicode/1f492",weight_lifting:"unicode/1f3cb",weight_lifting_man:"unicode/1f3cb-2642",weight_lifting_woman:"unicode/1f3cb-2640",western_sahara:"unicode/1f1ea-1f1ed",whale:"unicode/1f433",whale2:"unicode/1f40b",wheel_of_dharma:"unicode/2638",wheelchair:"unicode/267f",white_check_mark:"unicode/2705",white_circle:"unicode/26aa",white_flag:"unicode/1f3f3",white_flower:"unicode/1f4ae",white_haired_man:"unicode/1f468-1f9b3",white_haired_woman:"unicode/1f469-1f9b3",white_heart:"unicode/1f90d",white_large_square:"unicode/2b1c",white_medium_small_square:"unicode/25fd",white_medium_square:"unicode/25fb",white_small_square:"unicode/25ab",white_square_button:"unicode/1f533",wilted_flower:"unicode/1f940",wind_chime:"unicode/1f390",wind_face:"unicode/1f32c",wine_glass:"unicode/1f377",wink:"unicode/1f609",wolf:"unicode/1f43a",woman:"unicode/1f469",woman_artist:"unicode/1f469-1f3a8",woman_astronaut:"unicode/1f469-1f680",woman_cartwheeling:"unicode/1f938-2640",woman_cook:"unicode/1f469-1f373",woman_dancing:"unicode/1f483",woman_facepalming:"unicode/1f926-2640",woman_factory_worker:"unicode/1f469-1f3ed",woman_farmer:"unicode/1f469-1f33e",woman_firefighter:"unicode/1f469-1f692",woman_health_worker:"unicode/1f469-2695",woman_in_manual_wheelchair:"unicode/1f469-1f9bd",woman_in_motorized_wheelchair:"unicode/1f469-1f9bc",woman_judge:"unicode/1f469-2696",woman_juggling:"unicode/1f939-2640",woman_mechanic:"unicode/1f469-1f527",woman_office_worker:"unicode/1f469-1f4bc",woman_pilot:"unicode/1f469-2708",woman_playing_handball:"unicode/1f93e-2640",woman_playing_water_polo:"unicode/1f93d-2640",woman_scientist:"unicode/1f469-1f52c",woman_shrugging:"unicode/1f937-2640",woman_singer:"unicode/1f469-1f3a4",woman_student:"unicode/1f469-1f393",woman_teacher:"unicode/1f469-1f3eb",woman_technologist:"unicode/1f469-1f4bb",woman_with_headscarf:"unicode/1f9d5",woman_with_probing_cane:"unicode/1f469-1f9af",woman_with_turban:"unicode/1f473-2640",womans_clothes:"unicode/1f45a",womans_hat:"unicode/1f452",women_wrestling:"unicode/1f93c-2640",womens:"unicode/1f6ba",woozy_face:"unicode/1f974",world_map:"unicode/1f5fa",worried:"unicode/1f61f",wrench:"unicode/1f527",wrestling:"unicode/1f93c",writing_hand:"unicode/270d",x:"unicode/274c",yarn:"unicode/1f9f6",yawning_face:"unicode/1f971",yellow_circle:"unicode/1f7e1",yellow_heart:"unicode/1f49b",yellow_square:"unicode/1f7e8",yemen:"unicode/1f1fe-1f1ea",yen:"unicode/1f4b4",yin_yang:"unicode/262f",yo_yo:"unicode/1fa80",yum:"unicode/1f60b",zambia:"unicode/1f1ff-1f1f2",zany_face:"unicode/1f92a",zap:"unicode/26a1",zebra:"unicode/1f993",zero:"unicode/0030-20e3",zimbabwe:"unicode/1f1ff-1f1fc",zipper_mouth_face:"unicode/1f910",zombie:"unicode/1f9df",zombie_man:"unicode/1f9df-2642",zombie_woman:"unicode/1f9df-2640",zzz:"unicode/1f4a4"};window.emojify=function(e,n){return!1===o.hasOwnProperty(n)?e:'<img class="emoji" src="https://github.githubassets.com/images/icons/emoji/'+o[n]+'.png" alt="'+n+'" />'}}();
/* cyrillic-ext */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(3vq_SeW4Ep0.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(3vq_QOW4Ep0.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(3vq_R-W4Ep0.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(3vq_S-W4Ep0.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(3vq_SuW4Ep0.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: url(6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1636706135781" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2238" width="128" height="128" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M512 899.5c-213.668 0-387.5-173.832-387.5-387.5S298.332 124.5 512 124.5 899.5 298.332 899.5 512 725.668 899.5 512 899.5z" fill="#4472C4" p-id="2239"></path><path d="M512 137c-206.776 0-375 168.224-375 375s168.224 375 375 375 375-168.224 375-375-168.224-375-375-375m0-25c220.914 0 400 179.086 400 400S732.914 912 512 912 112 732.914 112 512s179.086-400 400-400z" fill="#4472C4" p-id="2240"></path><path d="M675.326 332.93c0-6.977-3.488-12.209-9.884-15.7a46.443 46.443 0 0 0-20.93-5.232q-18.314 0-22.674 10.465c-3.488 6.977-4.651 15.7-4.651 26.163a102.925 102.925 0 0 0 0.581 13.372v13.372c0 18.6-0.581 38.953-1.163 61.628-1.163 22.674-2.326 44.767-2.326 65.7l-39.535 4.07c-16.279 2.325-33.14 4.07-50.581 5.814l-52.903 5.232c-17.442 1.744-32.558 2.907-44.767 3.488-0.581-8.721-0.581-16.279-0.581-23.256v-18.023a78.89 78.89 0 0 1 0.581-10.465 75.418 75.418 0 0 1 1.744-15.116 88.735 88.735 0 0 1 1.74-17.442c0.581-5.814 1.744-11.628 2.907-17.442l5.814-30.233c2.326-9.884 4.651-19.186 6.977-28.488a20.565 20.565 0 0 0 0.581-3.489v-0.581c0-5.814-4.07-11.047-11.047-15.116-6.977-3.489-13.953-5.233-19.767-5.233s-9.3 1.163-11.628 2.907c-2.907 2.326-5.233 6.4-6.977 11.628a100.322 100.322 0 0 0-6.4 26.744c-1.744 10.465-2.907 22.093-4.07 34.3a98 98 0 0 0-1.744 19.186l-1.158 22.096c-0.581 8.14-0.581 15.116-0.581 22.093-0.581 7.558-0.581 13.953-0.581 18.6v27.907a35.194 35.194 0 0 1-8.721 1.163 67.23 67.23 0 0 1-9.884 0.581c-5.814 0-9.884 2.326-12.209 5.814A27.62 27.62 0 0 0 348 543.4q0 7.844 6.977 12.2a20.485 20.485 0 0 0 13.372 5.233h15.116l1.744 34.3c0.581 12.209 1.744 24.419 2.907 36.047 1.163 12.791 2.326 24.419 4.07 34.884 1.744 11.047 4.07 19.767 7.558 26.163 4.651 9.884 11.628 14.535 22.093 14.535a25.509 25.509 0 0 0 15.7-5.233c4.651-3.488 7.558-8.139 7.558-13.953a33.462 33.462 0 0 0-1.163-5.814c-2.326-7.558-4.07-17.442-6.4-30.233a255.131 255.131 0 0 1-4.07-35.465l-2.322-26.157c-1.163-8.721-1.744-19.186-2.326-30.814a5579.756 5579.756 0 0 0 51.746-3.493c15.7-1.163 30.814-2.326 45.93-4.07l16.86-1.744c6.977-0.582 14.535-1.163 22.674-2.325l25-3.489c8.136-1.158 16.278-2.321 23.255-3.484l1.163 56.977c0 16.86 1.163 33.721 2.326 50.581v22.674c0 4.07 0.581 8.14 0.581 11.628s0 6.977 1.163 10.465c0.581 5.814 4.07 10.465 11.046 13.953a38.664 38.664 0 0 0 19.767 5.233c12.791 0 19.767-6.4 19.767-19.768a71.231 71.231 0 0 0-1.163-11.047l-1.744-10.465a56.864 56.864 0 0 1-1.743-15.119 81.775 81.775 0 0 1-1.744-16.279c-2.326-37.209-3.488-75-3.488-112.791 0-21.511 0-44.186 0.581-68.023 0.581-23.256 1.744-45.93 2.907-68.023a117.648 117.648 0 0 1 2.907-25 126.557 126.557 0 0 1 6.977-25c1.162-1.158 1.744-4.065 1.744-7.554z" fill="#FFFFFF" p-id="2241"></path></svg>
\ No newline at end of file
!function(){var u={},m={EXPIRE_KEY:"docsify.search.expires",INDEX_KEY:"docsify.search.index"};function h(e){return e.text||"table"!==e.type||(e.cells.unshift(e.header),e.text=e.cells.map(function(e){return e.join(" | ")}).join(" |\n ")),e.text}function f(e){return e.text||"list"!==e.type||(e.text=e.raw),e.text}function g(r,e,o,s){void 0===e&&(e="");var c,e=window.marked.lexer(e),d=window.Docsify.slugify,l={},p="";return e.forEach(function(e,n){if("heading"===e.type&&e.depth<=s){var t=function(e){void 0===e&&(e="");var a={};return{str:e=e&&e.replace(/^'/,"").replace(/'$/,"").replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g,function(e,n,t){return-1===n.indexOf(":")?(a[n]=t&&t.replace(/&quot;/g,"")||!0,""):e}).trim(),config:a}}(e.text),a=t.str,t=t.config;c=t.id?o.toURL(r,{id:d(t.id)}):o.toURL(r,{id:d((t=e.text,i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},String(t).replace(/[&<>"']/g,function(e){return i[e]})))}),a&&(p=a.replace(/<!-- {docsify-ignore} -->/,"").replace(/{docsify-ignore}/,"").replace(/<!-- {docsify-ignore-all} -->/,"").replace(/{docsify-ignore-all}/,"").trim()),l[c]={slug:c,title:p,body:""}}else{if(0===n&&(c=o.toURL(r),l[c]={slug:c,title:"/"!==r?r.slice(1):"Home Page",body:e.text||""}),!c)return;l[c]?l[c].body?(e.text=h(e),e.text=f(e),l[c].body+="\n"+(e.text||"")):(e.text=h(e),e.text=f(e),l[c].body=l[c].body?l[c].body+e.text:e.text):l[c]={slug:c,title:"",body:""}}var i}),d.clear(),l}function p(e){return e&&e.normalize?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function r(i,r){var t,a,n,e,o="auto"===i.paths,s=o?(t=r.router,a=[],Docsify.dom.findAll(".sidebar-nav a:not(.section-link):not([data-nosearch])").forEach(function(e){var n=e.href,e=e.getAttribute("href"),n=t.parse(n).path;n&&-1===a.indexOf(n)&&!Docsify.util.isAbsolutePath(e)&&a.push(n)}),a):i.paths,c="";s.length&&o&&i.pathNamespaces?(n=s[0],Array.isArray(i.pathNamespaces)?c=i.pathNamespaces.filter(function(e){return n.slice(0,e.length)===e})[0]||c:i.pathNamespaces instanceof RegExp&&((d=n.match(i.pathNamespaces))&&(c=d[0])),e=-1===s.indexOf(c+"/"),d=-1===s.indexOf(c+"/README"),e&&d&&s.unshift(c+"/")):-1===s.indexOf("/")&&-1===s.indexOf("/README")&&s.unshift("/");var d,l=((d=i.namespace)?m.EXPIRE_KEY+"/"+d:m.EXPIRE_KEY)+c,p=((d=i.namespace)?m.INDEX_KEY+"/"+d:m.INDEX_KEY)+c,c=localStorage.getItem(l)<Date.now();if(u=JSON.parse(localStorage.getItem(p)),c)u={};else if(!o)return;var h=s.length,f=0;s.forEach(function(a){return u[a]?f++:void Docsify.get(r.router.getFile(a),!1,r.config.requestHeaders).then(function(e){var n,t;u[a]=g(a,e,r.router,i.depth),h===++f&&(n=i.maxAge,t=l,e=p,localStorage.setItem(t,Date.now()+n),localStorage.setItem(e,JSON.stringify(u)))})})}var o,s="";function c(e){var n=Docsify.dom.find("div.search"),t=Docsify.dom.find(n,".results-panel"),a=Docsify.dom.find(n,".clear-button"),i=Docsify.dom.find(".sidebar-nav"),n=Docsify.dom.find(".app-name");if(!e)return t.classList.remove("show"),a.classList.remove("show"),t.innerHTML="",void(o.hideOtherSidebarContent&&(i.classList.remove("hide"),n.classList.remove("hide")));var e=function(e){var n=[],t=[];Object.keys(u).forEach(function(n){t=t.concat(Object.keys(u[n]).map(function(e){return u[n][e]}))});var a=(e=e.trim()).split(/[\s\-\\/]+/);1!==a.length&&(a=[].concat(e,a));for(var i=0;i<t.length;i++)!function(e){var e=t[e],r=0,o="",s="",c="",d=e.title&&e.title.trim(),l=e.body&&e.body.trim(),e=e.slug||"";d&&(a.forEach(function(e){var n,t=new RegExp(p(e).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"),"gi"),a=-1,i=-1;s=d?p(d):d,c=l?p(l):l,a=d?s.search(t):-1,i=l?c.search(t):-1,(0<=a||0<=i)&&(r+=0<=a?3:0<=i?2:0,i<0&&(i=0),a=(a=n=0)==(n=i<11?0:i-10)?70:i+e.length+60,l&&a>l.length&&(a=l.length),t="..."+c.substring(n,a).replace(t,function(e){return'<em class="search-keyword">'+e+"</em>"})+"...",o+=t)}),0<r&&(e={title:s,content:l?o:"",url:e,score:r},n.push(e)))}(i);return n.sort(function(e,n){return n.score-e.score})}(e),r="";e.forEach(function(e){r+='<div class="matching-post">\n<a href="'+e.url+'">\n<h2>'+e.title+"</h2>\n<p>"+e.content+"</p>\n</a>\n</div>"}),t.classList.add("show"),a.classList.add("show"),t.innerHTML=r||'<p class="empty">'+s+"</p>",o.hideOtherSidebarContent&&(i.classList.add("hide"),n.classList.add("hide"))}function d(e){o=e}function l(e,n){var t,a,i=n.router.parse().query.s;d(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='<div class="input-wrap">\n <input type="search" value="'+e+'" aria-label="Search text" />\n <div class="clear-button">\n <svg width="26" height="24">\n <circle cx="12" cy="12" r="11" fill="#ccc" />\n <path stroke="white" stroke-width="2" d="M8.25,8.25,15.75,15.75" />\n <path stroke="white" stroke-width="2"d="M8.25,15.75,15.75,8.25" />\n </svg>\n </div>\n </div>\n <div class="results-panel"></div>\n </div>',e=Docsify.dom.create("div",n),n=Docsify.dom.find("aside");Docsify.dom.toggleClass(e,"search"),Docsify.dom.before(n,e)}(i),n=Docsify.dom.find("div.search"),a=Docsify.dom.find(n,"input"),e=Docsify.dom.find(n,".input-wrap"),Docsify.dom.on(n,"click",function(e){return-1===["A","H2","P","EM"].indexOf(e.target.tagName)&&e.stopPropagation()}),Docsify.dom.on(a,"input",function(n){clearTimeout(t),t=setTimeout(function(e){return c(n.target.value.trim())},100)}),Docsify.dom.on(e,"click",function(e){"INPUT"!==e.target.tagName&&(a.value="",c())}),i&&setTimeout(function(e){return c(i)},500)}function y(e,n){var t,a,i,r,o;d(e),t=e.placeholder,a=n.route.path,(r=Docsify.dom.getNode('.search input[type="search"]'))&&("string"==typeof t?r.placeholder=t:(i=Object.keys(t).filter(function(e){return-1<a.indexOf(e)})[0],r.placeholder=t[i])),e=e.noData,o=n.route.path,s="string"==typeof e?e:e[Object.keys(e).filter(function(e){return-1<o.indexOf(e)})[0]]}var v={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,a=n.config.search||v;Array.isArray(a)?v.paths=a:"object"==typeof a&&(v.paths=Array.isArray(a.paths)?a.paths:"auto",v.maxAge=(t.isPrimitive(a.maxAge)?a:v).maxAge,v.placeholder=a.placeholder||v.placeholder,v.noData=a.noData||v.noData,v.depth=a.depth||v.depth,v.hideOtherSidebarContent=a.hideOtherSidebarContent||v.hideOtherSidebarContent,v.namespace=a.namespace||v.namespace,v.pathNamespaces=a.pathNamespaces||v.pathNamespaces);var i="auto"===v.paths;e.mounted(function(e){l(v,n),i||r(v,n)}),e.doneEach(function(e){y(v,n),i&&r(v,n)})},$docsify.plugins)}();
This source diff could not be displayed because it is too large. You can view the blob instead.
@import url("family.css");
* {
-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 0.2s, opacity 0.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: 0.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 0.2em 0.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 0.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 0.56s ease-in-out;
animation: octocat-wave 0.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 0.3s;
}
.anchor span {
color: #34495e;
}
.anchor:hover {
text-decoration: underline;
}
.sidebar {
border-right: 1px solid rgba(0, 0, 0, 0.07);
overflow-y: auto;
padding: 40px 0 0;
position: absolute;
top: 0;
bottom: 0;
left: 0;
transition: transform 0.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%, 0.4);
}
.sidebar:hover::-webkit-scrollbar-track {
background: hsla(0, 0%, 53.3%, 0.1);
}
.sidebar-toggle {
background-color: transparent;
background-color: hsla(0, 0%, 100%, 0.8);
border: 0;
outline: none;
padding: 10px;
position: absolute;
bottom: 0;
left: 0;
text-align: center;
transition: opacity 0.3s;
width: 284px;
z-index: 30;
cursor: pointer;
}
.sidebar-toggle:hover .sidebar-toggle-button {
opacity: 0.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 0.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;
height: 2em;
}
.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, 0.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 0.25s ease-out;
}
.content {
left: 0;
max-width: 100vw;
position: static;
padding-top: 20px;
transition: transform 0.25s ease;
}
.app-nav,
.github-corner {
transition: transform 0.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%, 0.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 0.56s ease-in-out;
animation: octocat-wave 0.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: 0.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: 0.625rem 0 2.5rem;
position: relative;
text-align: center;
}
section.cover h1 a {
display: block;
}
section.cover h1 small {
bottom: -0.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: 0.1rem;
margin: 0.5rem 1rem;
padding: 0.75em 2rem;
text-decoration: none;
transition: all 0.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: 0.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 0.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 0.8rem;
}
.markdown-section h3 {
font-size: 1.5rem;
margin: 40px 0 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: 0.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: 0.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: 0.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: 0.05rem;
}
.markdown-section output:after,
.markdown-section pre:after {
color: #ccc;
font-size: 0.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: 0.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;
}
!function(){function o(e){return"IMG"===e.tagName}function E(e){return e&&1===e.nodeType}function c(e){return".svg"===(e.currentSrc||e.src).substr(-4).toLowerCase()}function m(e){try{return Array.isArray(e)?e.filter(o):(t=e,NodeList.prototype.isPrototypeOf(t)?[].slice.call(e).filter(o):E(e)?[e].filter(o):"string"==typeof e?[].slice.call(document.querySelectorAll(e)).filter(o):[])}catch(e){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}var t}function w(e,t){var o=l({bubbles:!1,cancelable:!1,detail:void 0},t);return"function"==typeof window.CustomEvent?new CustomEvent(e,o):((t=document.createEvent("CustomEvent")).initCustomEvent(e,o.bubbles,o.cancelable,o.detail),t)}function a(e,t){function o(e){function u(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,o=void 0;v.container&&(v.container instanceof Object?(t=(e=l({},e,v.container)).width-e.left-e.right-2*v.margin,o=e.height-e.top-e.bottom-2*v.margin):(d=(i=(E(v.container)?v.container:document.querySelector(v.container)).getBoundingClientRect()).width,a=i.height,r=i.left,m=i.top,e=l({},e,{width:d,height:a,left:r,top:m}))),t=t||e.width-2*v.margin,o=o||e.height-2*v.margin;var n=z.zoomedHd||z.original,i=!c(n)&&n.naturalWidth||t,d=!c(n)&&n.naturalHeight||o,r=(a=n.getBoundingClientRect()).top,m=a.left,n=a.width,a=a.height,i=Math.min(i,t)/n,d=Math.min(d,o)/a,d="scale("+(d=Math.min(i,d))+") translate3d("+((t-n)/2-m+v.margin+e.left)/d+"px, "+((o-a)/2-r+v.margin+e.top)/d+"px, 0)";z.zoomed.style.transform=d,z.zoomedHd&&(z.zoomedHd.style.transform=d)}var s=(0<arguments.length&&void 0!==e?e:{}).target;return new i(function(e){if(s&&-1===f.indexOf(s))e(b);else{function t(){g=!1,z.zoomed.removeEventListener("transitionend",t),z.original.dispatchEvent(w("medium-zoom:opened",{detail:{zoom:b}})),e(b)}var o,n,i,d,r,m,a,c,l;if(z.zoomed)e(b);else{if(s)z.original=s;else{if(!(0<f.length))return void e(b);z.original=f[0]}z.original.dispatchEvent(w("medium-zoom:open",{detail:{zoom:b}})),h=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,g=!0,z.zoomed=(o=z.original,n=o.getBoundingClientRect(),i=n.top,d=n.left,r=n.width,m=n.height,a=o.cloneNode(),n=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,o=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,a.removeAttribute("id"),a.style.position="absolute",a.style.top=i+n+"px",a.style.left=d+o+"px",a.style.width=r+"px",a.style.height=m+"px",a.style.transform="",a),document.body.appendChild(y),v.template&&(a=E(v.template)?v.template:document.querySelector(v.template),z.template=document.createElement("div"),z.template.appendChild(a.content.cloneNode(!0)),document.body.appendChild(z.template)),document.body.appendChild(z.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),z.original.classList.add("medium-zoom-image--hidden"),z.zoomed.classList.add("medium-zoom-image--opened"),z.zoomed.addEventListener("click",p),z.zoomed.addEventListener("transitionend",t),z.original.getAttribute("data-zoom-src")?(z.zoomedHd=z.zoomed.cloneNode(),z.zoomedHd.removeAttribute("srcset"),z.zoomedHd.removeAttribute("sizes"),z.zoomedHd.src=z.zoomed.getAttribute("data-zoom-src"),z.zoomedHd.onerror=function(){clearInterval(c),console.warn("Unable to reach the zoom image target "+z.zoomedHd.src),z.zoomedHd=null,u()},c=setInterval(function(){z.zoomedHd.complete&&(clearInterval(c),z.zoomedHd.classList.add("medium-zoom-image--opened"),z.zoomedHd.addEventListener("click",p),document.body.appendChild(z.zoomedHd),u())},10)):z.original.hasAttribute("srcset")?(z.zoomedHd=z.zoomed.cloneNode(),z.zoomedHd.removeAttribute("sizes"),z.zoomedHd.removeAttribute("loading"),l=z.zoomedHd.addEventListener("load",function(){z.zoomedHd.removeEventListener("load",l),z.zoomedHd.classList.add("medium-zoom-image--opened"),z.zoomedHd.addEventListener("click",p),document.body.appendChild(z.zoomedHd),u()})):u()}}})}var n=1<arguments.length&&void 0!==t?t:{},i=window.Promise||function(e){function t(){}e(t,t)},t=function(){for(var e=arguments,t=arguments.length,o=Array(t),n=0;n<t;n++)o[n]=e[n];var i=o.reduce(function(e,t){return[].concat(e,m(t))},[]);return i.filter(function(e){return-1===f.indexOf(e)}).forEach(function(e){f.push(e),e.classList.add("medium-zoom-image")}),r.forEach(function(e){var t=e.type,o=e.listener,n=e.options;i.forEach(function(e){e.addEventListener(t,o,n)})}),b},p=function(){return new i(function(t){var e;!g&&z.original?(e=function e(){z.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(z.zoomed),z.zoomedHd&&document.body.removeChild(z.zoomedHd),document.body.removeChild(y),z.zoomed.classList.remove("medium-zoom-image--opened"),z.template&&document.body.removeChild(z.template),g=!1,z.zoomed.removeEventListener("transitionend",e),z.original.dispatchEvent(w("medium-zoom:closed",{detail:{zoom:b}})),z.original=null,z.zoomed=null,z.zoomedHd=null,z.template=null,t(b)},g=!0,document.body.classList.remove("medium-zoom--opened"),z.zoomed.style.transform="",z.zoomedHd&&(z.zoomedHd.style.transform=""),z.template&&(z.template.style.transition="opacity 150ms",z.template.style.opacity=0),z.original.dispatchEvent(w("medium-zoom:close",{detail:{zoom:b}})),z.zoomed.addEventListener("transitionend",e)):t(b)})},d=function(e){e=(0<arguments.length&&void 0!==e?e:{}).target;return z.original?p():o({target:e})},f=[],r=[],g=!1,h=0,v=n,z={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(e)?v=e:!e&&"string"!=typeof e||t(e),v=l({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},v);var y=(n=v.background,(e=document.createElement("div")).classList.add("medium-zoom-overlay"),e.style.background=n,e);document.addEventListener("click",function(e){e=e.target;e!==y?-1!==f.indexOf(e)&&d({target:e}):p()}),document.addEventListener("keyup",function(e){e=e.key||e.keyCode;"Escape"!==e&&"Esc"!==e&&27!==e||p()}),document.addEventListener("scroll",function(){var e;!g&&z.original&&(e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,Math.abs(h-e)>v.scrollOffset&&setTimeout(p,150))}),window.addEventListener("resize",p);var b={open:o,close:p,toggle:d,update:function(e){var t=0<arguments.length&&void 0!==e?e:{},e=t;return t.background&&(y.style.background=t.background),t.container&&t.container instanceof Object&&(e.container=l({},v.container,t.container)),t.template&&(t=E(t.template)?t.template:document.querySelector(t.template),e.template=t),v=l({},v,e),f.forEach(function(e){e.dispatchEvent(w("medium-zoom:update",{detail:{zoom:b}}))}),b},clone:function(e){return a(l({},v,0<arguments.length&&void 0!==e?e:{}))},attach:t,detach:function(){for(var e=arguments,t=arguments.length,o=Array(t),n=0;n<t;n++)o[n]=e[n];z.zoomed&&p();var i=0<o.length?o.reduce(function(e,t){return[].concat(e,m(t))},[]):f;return i.forEach(function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(w("medium-zoom:detach",{detail:{zoom:b}}))}),f=f.filter(function(e){return-1===i.indexOf(e)}),b},on:function(t,o,e){var n=2<arguments.length&&void 0!==e?e:{};return f.forEach(function(e){e.addEventListener("medium-zoom:"+t,o,n)}),r.push({type:"medium-zoom:"+t,listener:o,options:n}),b},off:function(t,o,e){var n=2<arguments.length&&void 0!==e?e:{};return f.forEach(function(e){e.removeEventListener("medium-zoom:"+t,o,n)}),r=r.filter(function(e){return!(e.type==="medium-zoom:"+t&&e.listener.toString()===o.toString())}),b},getOptions:function(){return v},getImages:function(){return f},getZoomedImage:function(){return z.original}};return b}var l=Object.assign||function(e){for(var t=arguments,o=1;o<arguments.length;o++){var n,i=t[o];for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e};!function(e,t){void 0===t&&(t={});var o,n=t.insertAt;e&&"undefined"!=typeof document&&(o=document.head||document.getElementsByTagName("head")[0],(t=document.createElement("style")).type="text/css","top"===n&&o.firstChild?o.insertBefore(t,o.firstChild):o.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)))}(".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}");var n=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.msMatchesSelector;$docsify.plugins=[].concat(function(e){var o;e.doneEach(function(e){var t=(t=Array.apply(null,document.querySelectorAll(".markdown-section img:not(.emoji):not([data-no-zoom])"))).filter(function(e){return!1===n.call(e,"a img")});o&&o.detach(),o=a(t)})},$docsify.plugins)}();
## 获取固件
-[UBAINS官网](http://ubains.com/download.asp) 的 下载中心 点击固件更新按钮 进入固件下载页面
- 或者直接访问 [下载地址](http://bbs.ubains.com/ubainsdownload.php)点击最新固件下载
**固件下载完成后请务必阅读升级说明**
## 升级注意事项
1. 确认当前版本,在机器前面板液晶屏查看当前液晶版本号例如 V:20210133297DE0,如果无法看到请重启机器
2. 如版本在V20171009之前,请先升级到V20171009
3. 如版本在V20181009之前,请先升级到V20181009
4. 在版本V20181009基础上可直接升级V20210139版本
## 升级方法
**固件更新后必须重启两次中控主机**
固件升级是将升级文件上传到中控主机的FTP服务器指定路径下,校验成功后重启主机升级成功
FTP登陆的用户名 ftpuser 密码同样为 ftpuser
固件校验通过会自动剪切走刚刚上传的文件,即5S钟后刷新指定目录文件消失证明固件校验通过
如果要回退固件版本(不建议回退固件版本)修改固件文件的文件名,固件文件名前八位数值大于当前版本的前八位数值时即可升级
如果有 FTP 客户端可直接通过上传到默认路径下,也可直接使用 Windows 的文件管理器上传
在文件路径栏里输入 ftp://中控IP地址,登陆成功后,将文件复制到此目录下,5~10s 后刷新页面,文件消失,重启主机
![image-20210617124345408](images/ubains固件升级/image-20210617124345408.png)
**重启中控主机完成升级**
## 检查升级
重启主机后,中控前液晶面板已经显示上传的固件版本信息即更新成功,这时建议再重启一遍中控主机确保固件更新成功
## 下载和安装软件
1. 在ubains官网下载ubains软件
![image-20210304201755835](images/ubains程序上传说明/image-20210304201755835.png)
只是用来修改矩阵下载完整版即可,如需编程调试,还需下载软件更新
**提示:某些电脑的Google Chrome网页显示不正常**
如网页显示 403 Forbidden nginx 请按 F5 刷新页面即可
2. 解压以管理员权限安装ubains软件,更新包参考解压后文件夹更新说明
3. 运行ubains软件
![image-20210304202458668](images/ubains程序上传说明/image-20210304202458668.png)
可以点击测试使用进入,也可在ubains官网注册账号登陆进入软件
软件安装完成
## 上传程序至中控主机
1. 环境验证
首先要让自己的电脑和中控主机在同一个局域网,同一网段下,如果要验证的话是否在同一局域网下可通过自己电脑打开CMD管理员界面ping通中控主机IP 例如:ping 192.168.1.2
![img](images/ubains程序上传说明/clip_image002.jpg)
说明在同一局域网下也没有丢包网络良好。那么接下来就可以进行程序上传了。
2. 使用 GViewer 软件上传程序至中控
打开![image-20210427152613579](images/ubains程序上传说明/image-20210427152613579.png)点击菜单栏的File -> open 打开程序文件夹点击文件中的后缀名为*.ui的文件
然后再点击菜单栏 File 选择 Upload Package 按钮将开始上传程序至中控。
![IMG_256](images/ubains程序上传说明/clip_image004.jpg)
中控显示屏显示如图所示则表明程序上传成功中控正在重启,只需等待1~2分钟中控重启完成即可
正常每次上传程序成功后中控会重启,如不重启说明程序可能完全相同或者网络限制,网络限制可以使用电脑和中控网线直连来上传程序
重启如右图所示![IMG_256](images/ubains程序上传说明/clip_image006.jpg)
显示出中控IP表明中控重启完成.
中控程序上传完成
## 上传程序至 Pad
1. 安装 ubains 的 view APP
iPad 直接在apple store里面搜索 ubains下载安装app应用。
Android 平板请在 http://app.ubainsyun.com/GViewer 下载安装 APP
2. 将 Pad 和电脑/中控连接到同一网络中 查看 Pad 的 IP地址
打开IPAD的设置,点无线局域网,然后再点击所连接的局域网名 ,进入此网络详细信息,就可以看到IP地址
![image-20210427153847768](images/ubains程序上传说明/image-20210427153847768.png)
Android 平板则在 设置 -> 关于系统 -> 状态信息中查看
3. 上传前准备
此时可用电脑 ping 一下 iPad 或 Android 平板的 IP 地址,确保电脑和 Pad 间通信正常
在 iPad 或 Android 平板上打开 ubains 的 app,重要事情说三遍
**如已经打开请双击Home键后台结束ubains的App**
**如已经打开请双击Home键后台结束ubains的App**
**如已经打开请双击Home键后台结束ubains的App**
4. 开始上传程序到 Pad
然后我们在自己电脑上打开Ubians软件 ![image-20210427154450343](images/ubains程序上传说明/image-20210427154450343.png) 点击File,同样和上一步一样打开程序文件夹中后缀名为*.ui的文件,然后再次点击File选择Upload To Ipad 如果是 Android 平板请点击 Upload To Android,然后输入 Pad 连接的 WIFI 的 IP 地址例如:
![image-20210427154505302](images/ubains程序上传说明/image-20210427154505302.png)
输入完成点击OK即可上传同,如出现一下提示框说明上传成功,等待上传完成iPad 上app自动退出即可,其他提示请检查上面步骤。
![image-20210427154515533](images/ubains程序上传说明/image-20210427154515533.png)
上传成功,ubains app软件会自动关闭,程序上传通常不会超过2分钟,如超时请退出app后台重新上传。自动退出后重新打开 pad的UBAINS软件就完成了程序上传。
**如果PAD程序出现界面跳转混乱或者出现白屏,请将电脑上程序文件夹路径改为英文路径!!!**
## 说明
可以使用远程软件连接安卓屏,即可在电脑上操作安卓屏。
## 获取工具
通过远程桌面连接IP为`192.168.100.23`的Widows 7电脑,工具软件位于
桌面->常用工具->QtScrcpy-win-x64-v1.6.0
可将此文件夹拷贝的您电脑运行连接
## 使用
1. 输入 UT-10 安卓触摸屏的 IP`192.168.100.20`
2. 点击无线连接
3. 修改启动配置中的最大尺寸为 1280 否则导致连接花屏
4. 点击刷新设备按钮,设备序列号栏显示 192.168.100.20
5. 最后点击启动服务
![image-20211108234137728](images/使用安卓触摸屏/image-20211108234137728.png)
连接成功效果,可以使用鼠标拖拽来模拟滑动,右边工具栏有 home 键,下拉等功能
![image-20211108234614007](images/使用安卓触摸屏/image-20211108234614007.png)
## 前提条件
- 一台Windows系统电脑
- 电脑和中控处于同一网段
## 查看中控的 IP 地址
带有液晶面板的中控,请在中控的前面板查看,如果前面板此时没显示 IP 地址信息,可以重启后查看也可以使用论坛上方法查看,此方法也适用没有液晶显示的中控,如HMX800矩阵等
http://bbs.ubainsyun.com:8008/forum.php?mod=viewthread&tid=282
## 登入中控的FTP服务器
打开 ""我的电脑"" (即资源管理器)在上面的路径框中输入 ftp://中控的IP地址 然后回车,意思是登入中控的FTP服务器
![image-20210902105915635](images/如何导出中控日志/image-20210902105915635.png)
在弹出的登入框中输入 用户名和密码 均为 **ftpuser**
点击 登录 按钮登陆 FTP 服务器
![image-20210902110244651](images/如何导出中控日志/image-20210902110244651.png)
## 下载日志
登入成功后默认根目录如下图所示
![image-20210902110450362](images/如何导出中控日志/image-20210902110450362.png)
将 System目录下的 **Log** 文件复制到电脑磁盘如桌面,然后将Log文件压缩成zip文件发送给ubains工程师
![image-20210902110543991](images/如何导出中控日志/image-20210902110543991.png)
## 注意事项
因为 **Log** 文件夹可能日志文件过多,一定要打包压缩,否则文件太多会导致传输慢或失败等问题
## Windows 7, 8.x, 10 和 11
1. 解压到文件夹后,右键 **以管理员权限** 运行 `导入证书.bat` 文件,此步的目的是为了导入文件夹中 `xxx.p12` 的证书文件,并修改注册表为VPN连接启用更强的加密算法。
![image-20211107170946141](images/如何接入远程实验室/image-20211107170946141.png)
运行bat文件后提示 certutil: -importpfx 命令成功完成。如下图即表示导入证书成功,CN=wcj表示导入的用户名为 wcj ,此时按任意键退出导入。
![image-20211107171036328](images/如何接入远程实验室/image-20211107171036328.png)
2. 在 Windows 计算机上添加一个新的 IKEv2 VPN 连接。
鼠标点击电脑的右下角的网络连接图标,右键,打开网络和共享中心,windows 10 要先打开 网络和 Internet 设置,再 打开网络和共享中心。
![image-20211107172028374](images/如何接入远程实验室/image-20211107172028374.png)
选择连接到工作区 下一步
![image-20211107172604566](images/如何接入远程实验室/image-20211107172604566.png)
否,创建新连接 下一步
![image-20211107172645162](images/如何接入远程实验室/image-20211107172645162.png)
点击 使用我的Internet 连接(VPN)
![image-20211107172749035](images/如何接入远程实验室/image-20211107172749035.png)
实验室IP固定为 218.17.184.34,目标名称 可自定义 下一步
![image-20211107173222389](images/如何接入远程实验室/image-20211107173222389.png)
输入用户名和密码然后点击 创建, 创建完成后 点击 关闭
![image-20211107173458780](images/如何接入远程实验室/image-20211107173458780.png)
回到 网络和共享中心 点击进入 更改适配器设置
![image-20211107173718707](images/如何接入远程实验室/image-20211107173718707.png)
选择刚刚命名的连接 右键 属性,选择安全 VPN类型-> IKEv2,需要加密->使用计算机证书,然后确定
![image-20211107174139096](images/如何接入远程实验室/image-20211107174139096.png)
选择刚刚命名的连接 右键 连接,并输入密码点击连接
![image-20211107174801575](images/如何接入远程实验室/image-20211107174801575.png)
看连接图标变亮表示连接成功, 双击在详细信息 里面可以看到 IPv4的地址为 192.168.43.x 网段IP并且 DNS 为 202.96.134.133 。
![image-20211107175020129](images/如何接入远程实验室/image-20211107175020129.png)
如果你要断开VPN连接就像连接时一样,鼠标右键,断开或者删除
![image-20211107180055578](images/如何接入远程实验室/image-20211107180055578.png)
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## iOS
首先,将生成的 `.mobileconfig` 文件传送到你的 iOS 设备,并且导入为 iOS 配置描述文件。
在完成之后,检查并确保 "IKEv2 VPN" 显示在设置 -> 通用 -> 描述文件中。
要连接到 VPN:
1. 进入设置 -> 通用 -> VPN。
2. 选择服务器地址为 `218.17.184.34` VPN 连接。
3. 启用 **VPN** 连接。
传送到IOS设备可以使用 AirDrop(隔空投送)或者文件共享然后打开 iOS 设备上的 "文件" App
也可以使用微信来传送 微信中点击文件 用其他应用打开 -> 存储到“文件”并指定路径
然后在”文件“APP指定路径下点击文件 即可显示在设置 -> 通用 -> 描述文件中。
![image-20211107184700239](images/如何接入远程实验室/image-20211107184700239.png)
找到VNP配置文件并且安装证书到设备
![image-20211107185001212](images/如何接入远程实验室/image-20211107185001212.png)
导入证书输入 VPN 的密码,并连接到 218.17.184.34 远程实验室
![image-20211107185802715](images/如何接入远程实验室/image-20211107185802715.png)
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## Android
1. 将生成的 `.sswan` 文件安全地传送到你的 Android 设备。
2. 导入并安装 strongSwan VPN 客户端。
3. 启动 strongSwan VPN 客户端。
4. 单击右上角的 "更多选项" 菜单,然后单击 **导入VPN配置**
5. 选择你从服务器传送过来的 `.sswan` 文件。
**注:** 要查找 `.sswan` 文件,单击左上角的抽拉式菜单,然后浏览到你保存文件的目录。
6. 在 "导入VPN配置" 屏幕上,单击 **从VPN配置导入证书**,并按提示操作。
7. 在 "选择证书" 屏幕上,选择新的客户端证书并单击 **选择**
8. 单击 **导入**
9. 单击新的 VPN 配置文件以开始连接。
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## 说明
日志查看和分析是程序调试和故障排查的重要手段,能帮助您快速定位和解决问题,目前版本中控具备较为详细日志功能.
**查看和下载日志用 账户:ftpuser 密码:ftpuser 用户登陆**
日志文件位于 ftpuser 用户主目录下的 ./System/Log/ 目录下,完整路径为 /upgrade/System/Log/
![image-20210511125544467](images/如何查看中控日志/image-20210511125544467.png)
c.log 为运行用户上传的程序产生的日志文件,此日志实时产生,目前版本的保存周期为一个小时
c.logxxxx.save xxx为日期的日志文件为每天的日志文件,即c.log的最后一次备份每天的23到0点一个小时之间的日志数据,目前版本保存7天的日志信息
i.log 为驱动层产生日志不需要分析查看
u.log 为系统实时 CUP 内存 等系统信息日志,目前公开版本还未加入此功能
## 查看中控日志方式
1. 通过Windows系统文件管理器FTP登陆中控下载日志目录文件,通过 Notepad++,VSCode 等文件查看器查看
2. 通过 ssh 登陆实时查看日志
推荐使用 XShell / MobaXterm 等终端软件即可ssh登陆也可FTP下载日志文件
日志查看使用 LogViewer 工具
## SSH查看实时日志说明
SSH登陆中控成功后使用如下指令实时查看中控日志
```sh
tail -fn 100 ./System/Log/c.log
```
指令说明:
> tail 命令可用于查看文件的内容
>
> -fn 为两个参数 f 表示循环读取 n 表示尾部n行内容
>
> 100 为n的参数表示尾部100行数据
>
> ./System/Log/c.log 为路径下的日志文件
循环查看 当前目录下的 System/Log 路径下的 c.log 文件 最后100行数据
对于中控运行数据量大情况下,每秒产生大量日志数据容易干扰到日志分析,可以使用下面指令循环显示最新日志时过滤无关信息
```sh
tail -fn 100 ./System/Log/c.log | grep 'COM1'
tail -fn 100 ./System/Log/c.log | grep -E 'COM1|COM2|COM3'
```
指令说明:
> grep 后面直接跟字符串表示只显示包含此字符串的日志条目
>
> -E 参数表示后面字符串为正则表达式,即只显示包含COM1或COM2或COM3字符串的日志条目
>
> grep的其它用法和参数请自行百度不在赘述
## LogViewer工具分析日志文件
LogViewer为绿色软件,运行软件拖入日志文件即可,可秒开大的日志文件,可设置颜色和过滤器更好突出显示内容,方便分析查看日志文件
<img src="images/如何查看中控日志/image-20210511135718474.png" alt="image-20210511135718474" />
对于较大或文件行数很多的日志即使着色显示或 ctrl + F 查找也不是很方便时可以使用其中的一个日志过滤功能,只查看感兴趣的日志.
在菜单 编辑->过滤日志 弹窗中添加过滤条件和过滤日志存放的位置来过滤一份感兴趣的日志文件
<img src="images/如何查看中控日志/image-20210511140321389.png" alt="image-20210511140321389" />
当然还有书签功能,方便在不同位置跳转查看日志文件
## 中控常见日志常见现象
每个报错都会有对称的错误描述,如果看不懂描述的啥问题,最简单直接的方法是错误描述直接百度一下.
中控的一些常见日志特征如下,如重启,GViewer连接断开,端口数据收发等
![image-20210511141357898](images/如何查看中控日志/image-20210511141357898.png)
![image-20210511141914263](images/如何查看中控日志/image-20210511141914263.png)
timed out 这种错误是网络连接超时,如对端主机关机,断网时中控发送网络连接和数据时产生,这种报错并不会影响系统正常运行
![image-20210511142906294](images/如何查看中控日志/image-20210511142906294.png)
\ No newline at end of file
## Windows 错误 809
> 错误 809:无法建立计算机与 VPN 服务器之间的网络连接,因为远程服务器未响应。这可能是因为未将计算机与远程服务器之间的某种网络设备(如防火墙、NAT、路由器等)配置为允许 VPN 连接。请与管理员或服务提供商联系以确定哪种设备可能产生此问题。
要解决此错误,在首次连接之前需要修改一次注册表,以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。以管理员权限命令运行以下命令。**完成后必须重启计算机。**
- 适用于 Windows Vista, 7, 8.x 和 10
```cmd
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
```
另外,某些个别的 Windows 系统配置禁用了 IPsec 加密,此时也会导致连接失败。要重新启用它,可以运行以下命令并重启。
- 适用于 Windows XP, Vista, 7, 8.x 和 10
```cmd
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f
```
## Windows 错误 789 或 691
> 错误 789:L2TP 连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误。
> 错误 691:由于指定的用户名和/或密码无效而拒绝连接。下列条件可能会导致此情况:用户名和/或密码键入错误...
对于错误 789,691 表明VPN类型选择错误,正确的VPN类型为 IKEv2,按照下图修改VPN类型
![image-20211107174139096](images/接入远程实验室故障排除/image-20211107174139096.png)
## Windows 10 正在连接
如果你使用 Windows 10 并且 VPN 卡在 "正在连接" 状态超过几分钟,尝试以下步骤:
1. 右键单击系统托盘中的无线/网络图标。
1. 选择 **打开"网络和 Internet"设置**,然后在打开的页面中单击左侧的 **VPN**
1. 选择新的 VPN 连接,然后单击 **连接**。如果出现提示,在登录窗口中输入 `你的 VPN 用户名``密码` ,并单击 **确定**
## Windows 10 升级
在升级 Windows 10 版本之后 (比如从 1709 到 1803),你可能需要重新按照上面的 [Windows 错误 809](#windows-错误-809) 中的步骤修改注册表并重启。
## iOS/Android 睡眠模式
为了节约电池,iOS 设备 (iPhone/iPad) 在屏幕变黑(睡眠模式)之后不久就会自动断开 Wi-Fi 连接。这会导致 IPsec VPN 断开。该行为是被 [故意设计的](https://discussions.apple.com/thread/2333948) 并且不能被配置。
Android 设备在进入睡眠模式不久后也会断开 Wi-Fi 连接,如果你没有启用选项 "睡眠期间保持 WLAN 开启" 的话。该选项在 Android 8 (Oreo) 和更新版本中不再可用。另外,你也可以尝试打开 "始终开启 VPN" 选项以保持连接。详情请看 [这里](https://support.google.com/android/answer/9089766?hl=zh-Hans)
## 开始使用
在执行此文档的操作之前确保您已经完成了VPN的连接和远程桌面的连接。
因为我们不希望所有设备常供电,摄像机、编码器、矩阵设备是必须可断电的,在不使用的时候我们可以直接手动关闭远程实验室的设备。
所以在进入远程桌面后您还需知道这些操作来帮助您使用。
## 操作手册
您可以在您电脑或者远程桌面电脑的浏览器中输入[http://192.168.100.23/](http://192.168.100.23/)打开操作手册,如下图所示。![image-20211121185429245](images/接入须知(重要)/image-20211121185429245.png)
操作手册的WEB服务随Windows一起启动,如果访问不了请用远程桌面先连接一下。
## 开启设备电源
摄像机、编码器、矩阵电源是可能是关闭的,您需要开启他们以便您能通过RTSP播放器观看到摄像机画面
- 时序电源接在`192.168.100.13` 中控的 `COM8`
- 时序电源波特率为 `2400 `
- 指令代码为16 进制格式
- 时序开代码为`55 01 00 0D F0 AA`
- 时序关代码为`55 01 00 0D F1 AA`
![Snipaste_2021-11-21_19-05-18](images/接入须知(重要)/Snipaste_2021-11-21_19-05-18.png)
发送完时序电源开代码后通常1分钟左右设备启动,您可通过RTSP播放器查看画面
## 监视矩阵画面
开启电源后您可以通过远程桌面的两个软件来查看矩阵输出通道的画面,如现场摄像机画面。
![image-20211121192104696](images/接入须知(重要)/image-20211121192104696.png)
更多关于RTSP播放器请看[查看视频信号](查看视频信号.md)
## 调整摄像机角度
如果摄像机角度不佳,您可以通过控制摄像机云台来调整摄像机,直接在远程桌面电脑打开Google Chrome浏览器,点击书签栏地址进入摄像机WEB页面。
浏览器已经记住密码,无需输入密码,更多密码信息访问[设备信息](设备信息表.md)
![image-20211121192835918](images/接入须知(重要)/image-20211121192835918.png)
## 使用灯光
当你晚上接入的时候,可能实验环境的灯光已经关闭,会影响到观看,您可以通过网页打开一个辅助灯光来照明
直接在远程桌面电脑打开Google Chrome浏览器,点击书签栏地址进入继电器箱WEB页面。
![image-20211121193455227](images/接入须知(重要)/image-20211121193455227.png)
## 说明
当需要查看系统中视频信号或执行矩阵切换时监视信号使,可以通过将信号切换到HMX1600矩阵的输出1、2、3、4来监视画面
## 获取工具
通过远程桌面路连接上Windows 7 电脑,双击运行 `RTSP播放器`
RTSP播放器存放在桌面->常用工具->RTSP播放器 文件夹中,可拷贝文件夹到自己电脑然后运行文件夹中 `EasyPlayer-RTSP.exe`
## 使用说明
打开后界面如下,此软件可以查看 4 路 RTSP流
![image-20211108232827899](images/查看视频信号/image-20211108232827899.png)
在四个输入框分别输入如下RTSP地址点击 play 按钮来查看画面
- rtsp://192.168.100.22/1
- rtsp://192.168.100.22/2
- rtsp://192.168.100.22/3
- rtsp://192.168.100.22/4
192.168.100.22 为 编码器 的 IP ,后缀1234表示4路编码流地址相对应的为矩阵输出1234路
**提醒:同时解码4路RTSP码率会占用较大电脑性能**
**矩阵切换其他输入源给输出1234此画面变化**
![image-20211108233217589](images/查看视频信号/image-20211108233217589.png)
## 关于RTSP流
因为同时查看4路RTSP流会极大的占用电脑的性能也会消耗大量带宽资源,为了提升体验度我们做了如下改变。
- rtsp://192.168.100.22/1
- rtsp://192.168.100.22/2
地址1、2 的视频编码调整为480P的128Kb码率的H.264编码,即对应为矩阵的输出1、2。也就是说这两个通道非常适合用来监视画面的改变。
- rtsp://192.168.100.22/3
- rtsp://192.168.100.22/4
地址3、4 的视频编码调整为720P的512Kb码率的H.264编码,即对应为矩阵的输出3、4。这两个通道适合用来监视需要看清画面中文本的画面
- rtsp://192.168.100.22/0
地址0是 矩阵输出 3 的另一个编码通道,使用的为 1080P的 2M码率的H.264编码,适合用来监视摄像机信号。
这个地址0的显示的画面和地址 rtsp://192.168.100.22/3 显示画面一样,可以理解矩阵输出 3 做了两个编码,一个低清晰度,一个高清晰度。
## 调整画面质量
如果两个480P和两个720P的画面不满足您的需求,可以浏览器登陆编码器WEB页面来自行调整编码参数来改变RTSP流质量。
**提醒一下:码率和分辨率高会占用大量CPU资源**
![image-20211121141747967](images/查看视频信号/image-20211121141747967.png)
\ No newline at end of file
<mxfile host="Electron" modified="2021-11-21T08:14:23.174Z" agent="5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="zLWPpOYGJIv6NDG7sL3c" version="14.6.13" type="device"><diagram id="ipmSbBX9E2IJyOKus_vh" name="第 1 页">7VpRb5s6FP41fkwFBox5xAm57bRq06Jp3dPEgptw5+DIdZpkv342mBJiRnY1bXCrSFVlf5wY+/uOj+2DgTfdHP4R6XZ9zzPKAHSyA/BmAMLADdV/DRwrwEdOBaxEnlWQ2wCL/Ds1YG22yzP61DKUnDOZb9vgkhcFXcoWlgrB922zR87ab92mK2oBi2XKbPRTnsl1hWIYNvgtzVfr+s0uiqonm7Q2NiN5WqcZ359AXgK8qeBcVqXNYUqZ5q7mpfrd/CdPXzomaCF/5QeJOH5h+PObOzRDt/s4vn93t5yYVp5TtjMDBkkIiAcIKQsERHOQBCAigCQTkCCAExCHGsIYEGSGJo81X5IeVG/IWm6YAlxVfJKCf6NTzrhQSMELZUkec8bOoJTlq0JVl2o8VOHkmQqZKyVi82CTZ5l+DRF8V2RUD8vRTfFCGr/xoKnP003OtMfdUvZMdSvqgRmqapUefsqh+6KM8mjKN1SKozIxP4CR0d14c63tvnEN6PkVtj5xi8DYpcYbVy8tN4KpgtHsv+hnCzh9d+9astBMebWpciHXfMWLlCUNekZqY/OW861R8l8q5dFQne4kb+usKBTHh9PKZ93YTVBXZwfTeFU7mlrVV93BflHUePhOLGkPG9AEiFSsqOyx83pFdm7CqA5bgrJU5s/trnWpaFp7z3PV6caEPz4+qa6cy/zy0t9QHnYpD6/K9yrvX1AehfUrR6y816W8d1W+V/ngNSjvdynvX5XvVR69hmgfdCkfDKr8xLlxHP9M/tC/4ABl7T0VuaJEb/OG8orwoldANHqvQF1eYW/K/6ZXOKOPB/jiSuDj0SsfdikfXpXvVT56DcpHXcrjq/K9yrvOBelVuB/9JgDah33ycXHd/fUqDy8pj5E3euHtE9/dh2GTPHrvF7bFRw7+n+z9ILzoE3D8TmH5RDKdYMdxLL9oq75f55IutmnJ5F6k27bCptXfyZJ6gTmS1jl/z06TunXq9DRNiv5UmtSePzqDHc8BmYIEAzIDMdaIquK5SXzrLHcIIh+QoMyAR9pmaGprhur8c0cC+u8ya2ck+uhTSJwAYoeugXn00NA82uf72/sHdcAbwXQ+4ypwhubKPvXqD1ORC7BffpjyykmskCkg8djoQ/7Q9NlHx/K7XgyicqaqYKgm6HjoC8YW8rDN39hIGj6e2afU0ZE0fCCrLzmcR7JQf1nXUzE22xGzjCKNRCNYEYKxxTTYxWRYXlYo7y/EUC8LisBYLQ5OyaRaKMjJxg4xfW/hq1CllS7Fd5NkYadSB1498PBM2+cOvYWOPBDNytVX/UXjXT7+JIGq2lznqY55zZ0oL/kB</diagram></mxfile>
\ No newline at end of file
<mxfile host="Electron" modified="2021-11-21T07:43:38.696Z" agent="5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="e_CPXQSB6OY64bitVmyy" version="14.6.13" type="device"><diagram id="raBhSJxbn-INysFa_EEN" name="第 1 页">7VxRd6I4FP41eWwPgSSQR1G7fejs9pzOnJ2ZN6qpsovGRdpqf/0mkKgYqO1UidA5p6eHXCDA9/ElN/deBF5/tvojjRbTL3zMEuA64xXwBsB1qYPFf2lYF4bAIYVhksbjwgS3hrv4hSmjo6yP8ZgtSwdmnCdZvCgbR3w+Z6OsZIvSlD+XD3vgSfmqi2jCDMPdKEpM69/xOJuqp3D9rf2axZOpvjIktNgzi/TB6kmW02jMn3dM3hB4/ZTzrNiarfoskdhpXIrzrmr2bm4sZfPsLSdcfxt9pVP08ieawPuXn84gvvnvAnrq5rK1fmI2FgCoJk+zKZ/weZQMt9Yw5Y/zMZPdOqK1PeaG84UwQmH8h2XZWrEZPWZcmKbZLFF7xR2n6+/y/EuEXG34kRscz9OGwUpdomitd1u3LI1nLGOpMj7weXYVzeJEHnXNkieWxaNI7VA3ApFoF88rH7IWR2Va8sd0xF4BT73JWZROWPbKccGGbaESxsVtp2txXsqSKIufyvcRqfd1sjluS6nYUKy+g2FXMfwUJY/qUreCMmGBldTfRPdCwSW6oiSezMX2SCAkAQ+fWCrRTXpqxywej4s3gy3jl+g+70+ysuDxPMufCIcADyroqOUt5ZlAh89VT+ohxIXZqkr46qJbue0S+sqrb9KiuncuSYCKrtTQdeEWzTfzpvq+lSDsdANx+RT+8LAU788+0Ztb+nXuIbKsblzS9gFdn7OEqU0J6xemYRpXcbbDomj92Nmz5VA22kAhdGxyqB0GcxiunoHPZRg+wbiLD4y7HiTecUZaz21spCW/R9ojyRRalSmtk2n1VNphmZJD7pFHWqdS34ZKz1ptrk21eU6d2qo9ng6rzT+gNt+j6hqbZcTH1Fe+8c0ShzSlRWJQD4YYhIH8GyIQDgENwdAHVGzj28E344Uo6/J5GmfsbhHlqnhOo4WpQVNqFQwaYqvlxCNOCTuo28/bOBHUL8B0J0akjzu6nEwXUwIYeiDMkRT/6ZUEWQAbDi824IIhAWEPUMeAWICTlXFcZin/l/V5wmXgZc7nUlkPcZLsmd4hyxKNOzx57i9J8B0EatdbE2jy53rI5A+fij9cHZFpzIksB+I2HuUZOZHBG6c1VBPbaWZaw3VOJIlmclya3y8XOS5nHoI7/jSHX1ekmOZcn5ximqvu9PSzHHZ/S/pIkkY2JU1qPdVqgjss4ZoVw07YXC+ijythbEvCllNkHZJwTeSvIQnDOgl/tggsPpT5wigITiFhiCp7bUDDlhNhHdJwTViwIQ27dRr+bOFZXOMObTSMPBocRbS0MZHaSXN2UaQ10cSGRFpbcfLZorr4YKqT6LzwR2fW5lRqOdPZIZVarQsjqE6l1QR3WKWHMp3YdfcixcfRbFDVaQMKtpIF7aSCrZaFEVyn4GqCO6zgQ9lTAlF56dlyBQd2FXzpiFespGLiBAd0fDZV228VN7ZaL0jM/LgSdzX3HRZ3jZu0zRk5H61E0nfqNiXgwCBXJuGpD0KSV0H0QHD1hvz8u0sg3qG1D6XWUbk0wg9sl0aYGVkkgRYo97x8YwCCYkP8kdu/hsAliax9uE/F1kRu5VUpPdBDkg9xfK/grC+NrSHGdcrMeNaLVqCZWbsWXXUB7P0KoTMA28yB5GAHIPRBbzPkwLxKiIKeOdecLdjYPTuwzWC1KsPq+TuDu0ZaWHrDHPv96rf2kECCcyPBrV0kuWftRx3z87cDUwKBl5RiTCBG0Ie6Glsx6FLp7TvCTCgmjk/reap2qnSST+f8GgtUIjMMncuvDyjJxeaAoI0D3f6sgvXnYdY0hsxQYj52CeeKgiEFNMgHsX2H6vrL9wtInBa5tQb0uibbHvTm8CZnc+oBOtDuLO2A60T0etge0lUF68I3FQuzfBIPB/nc3XqkfeTaRrqijr21cAY6RmgPzopgQ3vhpMg2nGYoIVc9BEERUvDy2E3rxwGqf8jEGtL6O4u9T4TEIklOaXnMRsxzYrYTy6keUSTIr4ewHIkFCYbH8e3rJtzQRkqgg07n6onm9rdoCh98+4M+3vB/</diagram></mxfile>
\ No newline at end of file
<mxfile host="Electron" modified="2021-11-21T08:07:34.741Z" agent="5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="mk-qOSiDm0uNCJiIRNun" version="14.6.13" type="device"><diagram id="czHmIGEH8LrXT0-d_an0" name="第 1 页">7VxZc6M4EP41eswUSEiIR7CdzcPMbKpmj5l9I7Fis4tNipDD8+tXAik2h1BmkljyLlWpCrTFoe/rbrpbB0CzzdMvZXq7/lQsWQ6gt3wCaA4g9AMIgfjzlrtGQglqBKsyW8pGe8GX7DuTQk9K77Mlu2s1rIoir7LbtvC62G7ZddWSpWVZPLab3RR5+6m36Yr1BF+u07wv/TNbVmvZCxju5RcsW63Vk30SNb9sUtVY9uRunS6LxwMRWgA0K4uiao42TzOWC/AULs1155pfn1+sZNvqJRfMLs8/B2wXrr6F9Ov9X99x8Vt5Ju/ykOb3ssNgEYIEgSSpDxIQnYMFBlECksVZLZqDyFe/zWTXqp3Cq2JP/G2SdbXJucDnh3dVWfzDZkVelFyyLba8ZXKT5XlHlObZastPr3l/GJcnD6ysMs5ELH/YZMuleExSFvfbJRPd8sStim0l9QZBeX6ebrJcaNwFyx+YuAv/QXaV35U9aTH0n5nhKs2KDavKHW8iL4CR5F1qs+L2ca8aEAWNbH2gFli2S6U2rp7vvCeMH0jOfoA/FPYYYEuuwPK0KKt1sSq2ab7YSzv47dt8LIpbSdrfrKp2EtX0viralDbPFA8ax5G/V3FfXrORDkj3UKXlilVjHSXDxJQsT6vsof0ibw8z7dnJJceNS/xB/D+mV9wPtjD7AfVmd9n39Kq+nyDotsi2Vd0jnAA8H9Nk6QXlxXvfc8jMiB5p9d77EFL5iBcDLm92Kd7+oElxc3PHme4y8vzMnycJ9jj64/IzWBDhpuhceDEag9iv3VkEYlpLCKC47daaAywuifvstm3ncZ1V7MttWqv4I/8CDtnJqzwOCbyWx/H9vsvxFc2HLoe8m8uJdLYAAxvOiANZ7r7K6+uTb+LkA1an86fDH+c7efaGTix4qRPDBiujYQBdNzOlkAP8w4n/cf4DE/+YBs7z348ZFf/exP84/8jEPzoB/vvfWRUL0Yn/cf6hiX/fR6/jX4UNqB02UNoJB5p3lVcdZo1HVCSkVSQyKdK4Io0HjTxcD5H7jiTQ8j8Fkgb+PRP/PnmlIzkC/1jL/xRIjvMPIwP/hH8CnOefaPmfAkkD/9TAP6bKhhzmP9TxP8WRBvpN1ToSKXAdpl9bU52iPwP9mlr4/uuPI+o8/doy4hT8Geg3VhE9H7tOP9ZXEV2inwhsRhWgPrtkZcYREeM61rTCWFuE1PmQEGtrSxBZVQvffa9grC2GvvMfBawtCT3jNfGv4d9YW8TY+ZIA1peEoon/cf5NJUGKVMHNYf71JSErE11OiX9TSZB62H3/ry8J4Yn/Uf59U0kwJNh9+9eWhPwp/jPwbyoJhh5yviaE9fPspvjPwL+xJug8+dqK0BT7Gbg3FQR56O/89E2irQhNoZ+BflNBkDgf+JHJvRs41pT3jjP/nWjjsuGw/OTmvxNj9uwrDypnVJ290qGqF+9M725f/44GZ7fMfgIGp6mnHsngtInwcB50egb3gnLlG1kYPJpNTTmqwaY0pB/JpvTF5f+ITZmHgF5bAlBverTvVJ+zC36nRQCSGMSBWN0l1mlBucyLC7tMHnvBFlJVNvlFx5HtBVvKAR4u8rWNEm2HPZBC2yD1Rx5dAwmp8Tt7IPWt0TWQAmgdpP4YlnMgRYFtkPrxrWsgYYJtg9TPul0DiSBiG6T+kIFrIIWedZD6pXWxxD1eABrJte4RAgsK4hDEpA6mfJDUK+QTH9BzAEkutvW4KvnRShz9/tvZwCx920CHoWWg1cMOc4xfFy7Hqx0IqZqWbQ/CoT1pqNDPqNnEAddK6yh+kTI1e/gNhPuLUOzjE3PYIhBRkOC+QV98+sq/yp5zNh1R64AOpAZio5AZiIg4iD1AD3YVcQw/31PA2APQwbShu6+K/QwUOpg3dFGyn4JCBxOHLkr2c1DoYObQQ8l6EgodTB26KNnPQuFA7uAaSvbTULXfhsso2c9D0VBsXyebNKhjeySSTWdi+x6A1vNLNBTcE7GxXYTrbH0uEnZnAbSfXaJ+ML+YnVHPgcSnC5b9VBINBO7Nzq9xWOeUgUgl9/sphqKilPRHU60jaT2HRP3gvh7H5Lk4B+1cgelQGtnbeNJ+Hkn+r/tCqOjmpxcB/dhwf1yW6e6ggZy7AHWzAWBHU4LORtTjzWlIO5rRPP9tp+boNy0d1KnTm/sxvvzjzPtAI7UphJrB+DZbzanpBapE0L7+/WaGoH4lgH+uSLoRvnB7dSf+NRy3ZXK8g4easphM+sXQ06rZv+eewPx0v0V9Q91+o3+0+Bc=</diagram></mxfile>
\ No newline at end of file
<mxfile host="Electron" modified="2021-11-21T08:26:59.598Z" agent="5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="p3Oab-OkpMEFFxLx4ckm" version="14.6.13" type="device"><diagram id="Q7SQkCUkt0iG-L95DJqA" name="第 1 页">7Ztfc6M2EMA/jR59gxB/xKOxcZOZJmkn17vro2pkmxYjjyzHdj99hRHGRBia61ykdDyTyUiLEGJ/y7K7yABN1oefONmsHlhKc+A66QGgKXDdyPHl/1JwrATYCSrBkmdpJYKN4Dn7myqho6S7LKXb1kDBWC6yTVs4Z0VB56IlI5yzfXvYguXtq27IkmqC5znJdenXLBUrdRdu2MjvaLZc1VeGQVQdWZN6sLqT7YqkbH8hQglAE86YqFrrw4Tmpe5qvVTnza4cPS+M00L8mxPG/penX58+Lx7IfJ+xWT76+uiO1CwvJN+pGwZJCGIE4vjUiEE0A4kPohjEyQgkGIxDgAOQRGDsgkidvhXHWl+CHuRq4pVY51IAZXMrOPuLTljOuJQUrJAj40WW569EJM+WhezO5f1QKY9fKBeZJDFWB9ZZmpaXiTnbFSktb8spp2KFUHaDXNWfkXWWlxZ3R/MXWs4iD6hblbPSw1UdwjMZadGUrangRzlEneBGiruy5prtvjENF3mVbHVhFr4aR5Q1Ls8zN8BkQzF7C79IA3j/qFOhqTRq1WVcrNiSFSRPGukrnTZjfmZso0D+SYU4Kk2TnWBtzFKD/PjtsvN7Odknv+5OD2ryqndUvWqt5QL7mcj7YTs+pz3KcJV/IHxJRc+4sJex8ymsKXOaE5G9tFfWxVBN9gvL5JqbIWyx2MqVvIZ8vub3c3f1B/f+0b1x7+UO/SHwnu9aT97tII9u5HvJ4wHwgY+h9eBRB3jvBr7/kQ8GyHu4jlDfRn7MOTleDNiUdrDtMIw6cvCcVuTgOa+itbeNl41qBe9vhl6HGfo3M+w1w+j/4H/8DvDBDXy//xmMNT9CyBF0kA9v5PvJO0PkP0CWEXaAxzfw/eCHgk2MoP2PPNbIP/322WxhwbEePRoi74T2P/N6RUmSN1tasJ887K8bSm/v1IGzveiR04XebG3BfvTeAPkAh9+VYb4reb2cKMkbKS6YeHjdAYS+59uPUK8LSoRmE3P7H96hivCHeHj1wqAkbzYzt588HArWwqD+uGYxer0YJ9GbTc3tRz9UE/4IYTrSq3GSvNnc3H7ycChYwwhbj15/0Xfsy0jCcufGOColEQaxNJcgL3dm/MFla1m27h6+jWDgOJrNtC1iv8oEfd6QE4A9J5uueO0/7apAvnJj6lsHCvVtFbDeanG5rSL4Udsq9DfqaTfMBERB2Rg7AMPTthipbjzSyyLvrcHAb38tgsi0BvUXU58G9RzTtAbdyLQGdQcPkgDgMYj8UnHxFMSwlEQTEI/vpg/3Ftqh55vWov7pwjolBdC0kvQy/8mwIMBeaWoYATw7m5px/WHbfJ1eK7dNR+a9mV5Vtk1H5n1V7QcsVpJ5XwWvbFm+ElmY16AWWZhXYVcGcV2FehnYtArNJwiwI0NQCdZ2Q4o6xRqK2M4nyUW0zrNN477xlyzsyChs01Jg/DULu7IGDCIEoukplJN/kbWhnAWu0cJ8AVvn/DryBcuUZIG/sj8r+JHuSnabn7ZVlc/m94Eo+Qc=</diagram></mxfile>
\ No newline at end of file
## 控制
[系统图-控制](系统图-控制.drawio ':include :type=code')
## 网络
[系统图-网络](系统图-网络.drawio ':include :type=code')
## 电源
[系统图-电源](系统图-电源.drawio ':include :type=code')
## 视频
[系统图-视频](系统图-视频.drawio ':include :type=code')
\ No newline at end of file
| 设备 | IP | 类型 | 账号 | 密码 | 备注说明 |
| :-------------: | :-----------: | :----: | :-----: | :-----: | ------- |
| HMX-1600(中控) | 192.168.100.12 | | | | |
| EC-8000 | 192.168.100.13 | | | | 固件版本:20210148 |
| UT-10(安卓触摸屏) | 192.168.100.20 | | | | 可使用QtScrcpy远程连接 |
| 摄像机 | 192.168.100.21 | WEB | admin | admin | |
| 编码器 | 192.168.100.22 | WEB | admin | 8888 | |
| windows 7 | 192.168.100.23 | 系统 | ubains | 123456 | |
| 投影机 | 192.168.100.25 | WEB | admin | ubains | 需要开机才能登陆WEB |
| 继电器箱 | 192.168.100.30 | WEB | admin | diangchuang | 支持网络控制,具体参考产品文档 |
| 网关 | 192.168.100.254 | WEB | admin | admin | |
## HMX1600矩阵
- IP:192.168.100.12
- 固件版本:xxxx
----
- 输入1:摄像机
- 输入2:蓝光机
----
- 输出1:编码器输入1
- 输出2:编码器输入2
- 输出3:编码器输出3
- 输出4:编码器输出4
- 输出5:投影机HDMI输入1
- 输出6:投影机HDMI输入2
## EC-8000
- IP :192.168.100.13
- 固件版本:20210148
----
**控制接线**
- COM1:导轨继电器模块 (DG-REL8 )
- COM2:继电器箱(EC-REL8)
- COM3:UBAINS矩阵(HMX-1600)
- COM4:摄像机 (VISCA协议)
- COM5:NEC投影机(NP-M323W+)
- COM6:
- COM7:
- COM8:时序电源(EC-TP8P)
- BUS:环境检测器(AI-ES6)
- IR1:蓝光机
## UT-10 安卓触摸屏
- IP : 192.168.100.20
- 可使用 `QtScrcpy` 远程连接
## 摄像机
- IP:192.168.100.21
- WEB:[http://192.168.100.21](http://192.168.100.21)
- WEB 用户名:admin
- WEB 密码 : admin
## 编码器
- IP:192.168.100.22
- WEB:[http://192.168.100.22](http://192.168.100.22)
- WEB 用户名:admin
- WEB 密码 : 8888
- 使用`EasyPlayer-RTSP播放器`查看rtsp视频流
## windows 7
- IP:192.168.100.23
- 用户名:ubains
- 密码:123456
- 使用远程桌面连接用户名密码相同192
## 继电器箱
- IP:192.168.100.30
- WEB : [http://192.168.100.30/](http://192.168.100.30/)
- WEB 用户名:admin
- WEB 密码 : dingchuang
- 通道 2 接冷光灯
## 导轨继电器
- 通道 1 接暖光灯
## 投影机
- WEB页面需要开机才能登陆
- 设备支持 PJLink 协议,如需要请从 WEB 页面配置
| 设备名 | 品牌 | 型号 | 数量 | 说明 |
| ------------- | ------ | ------------ | ---- | ---------------- |
| 中控一体机 | UBAINS | AIO-3208 | 1 | 待加入 |
| 中控 | UBAINS | EC-8000 | 1 | |
| 矩阵 | UBAINS | HMX-1600 | 1 | |
| 时序电源 | UBAINS | EC-TP8 | 2 | 待加入另一台 |
| 继电器箱 | UBAINS | EC-REL8 | 1 | |
| 导轨式继电器 | UBAINS | DG-REL8 | 1 | |
| 摄像机 | PUAS | PUS-HD320 | 1 | |
| 安卓触摸屏 | UBAINS | UT-10 | 1 | |
| 投影机 | NEC | NP-M323W+ | 1 | |
| 环境检测器 | UBAINS | AI-ES6 | 1 | |
| 蓝光播放机 | GIEC | BDP-G3606 4K | 1 | |
| 音频处理器-1 | | | 1 | 待加入 |
| 音频处理器-2 | | | 1 | 待加入 |
| 音频处理器-3 | | | 1 | 待加入 |
| | | | | |
| 4通道编码器 | 国优 | | 1 | |
| 服务器 | HUAWEI | | 1 | 用于vmware虚拟化 |
| 网关 | H3C | H3C ER3200G2 | 1 | |
| 交换机 | H3C | H3C S1024 | 1 | |
| POE千兆交换机 | TPLink | TPLink | 1 | |
| PDU | 国优 | 无 | 1 | |
| HDMI线缆 | 国优 | 国优 | 若干 | |
| 网线 | 国优 | 国优 | 若干 | |
| 电源线 | 国优 | 国优 | 若干 | |
## 什么是远程实验室
远程实验室是 **UBAINS** 为公司员工、合作伙伴和客户提供的远程的编程练习,设备调试、方案演示的环境
借助远程实验室,合作伙伴可以远程进编程测试,设备调试,解决方案演示,认证教学等活动。:cn:
## 远程实验室有什么
1. 实验室将逐步部署 UBAINS 全系列产品和多种解决方案和场景应用。
2. 提供 UBAINS 中控编程的练习和考核环境,目前提供 UBAINS 初级编程考核场景。
3. 提供不限于UBAINS品牌的其他常见品牌设备和方案。
4. 可申请服务器用于部署软件服务,目前提供 *CentOS* 服务器用不预定运维部署练习。
## 远程实验室能做什么
- UBAINS 编程练习
> 通过 VPN 接入远程实验室,使的你电脑和实验环境处于同一网段,届时您可通过播放器查看实验环境的现场摄像机和任何接入系统的视频信号,直接使用接入电脑即可调试中控和设备。
- 方案演示
> 接入远程实验室后您可访问实验室里的所有设备和服务,如预定运维,您可以在您的电脑上直接预定会议查看运维设备状态。
>
> 您也可以将手机或者平板接入远程实验室,通过它们可直接控制实验室设备,并通过远程摄像机实时查看效果。
- 程序测试功能验证
> 您编写好了一个程序或者增加了一个新的功能需要实机运行测试看效果,可随时随地接入远程实验室上传并进行测试。
## 如何申请远程实验室
现阶段您可以通过我司的销售申请,并提供您的邮箱用于接受远程实验室的接入凭证。
更多服务升级和变更将会通过 [UBAINS 论坛](http://bbs.ubainsyun.com/) 发布, 敬请关注!
## 如何接入远程实验室
准备一台可访问互联网的设备,windows 、android、ios均可
以 windows 为例只需要导入证书然后新建一个网络连接并提供用户名、密码、服务器地址即可,不需要下载安装其他软件。
接入的具体详细步骤请查看此文档的 [如何接入](如何接入远程实验室.md) 章节
## FAQ
1. **远程实验室和现场的差异?如何保证远程调试演示效果?**
> 从调试上来看,远程接入和现场网络接入没有区别,我们通过VPN技术将接入设备分配的 IP 可以直接访问实验室设备 IP。
>
> 而不是远程桌面这种方式,使用的是远程的电脑的环境,从而保证使用您最熟悉的电脑环境进行编程调试。
>
> 可通过将设备视频画面路由给编码器来观看所有视频输入源画面,包括现场摄像机。
2. **连接上远程实验室能否上网?**
> 不能通过远程实验室上网,远程实验室是一个内网环境,只提供VNP接入设备与内网设备的网络互通。
>
> android 、ios、windows 10 在连接上远程实验室后可以通过自身网络访问互联网。
>
> windows 7 内置的 VPN 客户端但是由于版本问题不能访问互联网
3. **GViewer 、android 触摸屏 iPad 如何使用**
> 在接入的电脑直接可以使用 GViewer 可以控制,也可远程上实验室的 UT-10 触摸屏进行操作
>
> 也可将您自己的 android 、ipad 接入远程实验室使用
4. **实验室环境的设备信息、接线图、IP地址、账号密码如何获取?**
> 申请到实验室后将在通知邮件中包含本次申请实验室时间信息和实验室操作指南 。
>
> 同时在实验室环境中存在一台 Windows 7 系统电脑上也存放着与实验室相关的各种产品文档,设备信息文档,调试软件、工具等。
5. **申请到实验室后账号的有效期是多久?一个账号可以多人使用吗?**
> 账号登录的有效期通常为申请实验室的时长,到期会释放账号。同一个账号可以同时多台设备同时登录。可以多人同时连接到实验室。
## Windows 7, 8.x, 10 和 11
1. 解压到文件夹后,右键 **以管理员权限** 运行 `导入证书.bat` 文件,此步的目的是为了导入文件夹中 `xxx.p12` 的证书文件,并修改注册表为VPN连接启用更强的加密算法。
![image-20211107170946141](images/远程实验室介绍/image-20211107170946141.png)
运行bat文件后提示 certutil: -importpfx 命令成功完成。如下图即表示导入证书成功,CN=wcj表示导入的用户名为 wcj ,此时按任意键退出导入。
![image-20211107171036328](images/远程实验室介绍/image-20211107171036328.png)
2. 在 Windows 计算机上添加一个新的 IKEv2 VPN 连接。
鼠标点击电脑的右下角的网络连接图标,右键,打开网络和共享中心,windows 10 要先打开 网络和 Internet 设置,再 打开网络和共享中心。
![image-20211107172028374](images/远程实验室介绍/image-20211107172028374.png)
选择连接到工作区 下一步
![image-20211107172604566](images/远程实验室介绍/image-20211107172604566.png)
否,创建新连接 下一步
![image-20211107172645162](images/远程实验室介绍/image-20211107172645162.png)
点击 使用我的Internet 连接(VPN)
![image-20211107172749035](images/远程实验室介绍/image-20211107172749035.png)
实验室IP固定为 218.17.184.34,目标名称 可自定义 下一步
![image-20211107173222389](images/远程实验室介绍/image-20211107173222389.png)
输入用户名和密码然后点击 创建, 创建完成后 点击 关闭
![image-20211107173458780](images/远程实验室介绍/image-20211107173458780.png)
回到 网络和共享中心 点击进入 更改适配器设置
![image-20211107173718707](images/远程实验室介绍/image-20211107173718707.png)
选择刚刚命名的连接 右键 属性,选择安全 VPN类型-> IKEv2,需要加密->使用计算机证书,然后确定
![image-20211107174139096](images/远程实验室介绍/image-20211107174139096.png)
选择刚刚命名的连接 右键 连接,并输入密码点击连接
![image-20211107174801575](images/远程实验室介绍/image-20211107174801575.png)
看连接图标变亮表示连接成功, 双击在详细信息 里面可以看到 IPv4的地址为 192.168.43.x 网段IP并且 DNS 为 202.96.134.133 。
![image-20211107175020129](images/远程实验室介绍/image-20211107175020129.png)
如果你要断开VPN连接就像连接时一样,鼠标右键,断开或者删除
![image-20211107180055578](images/远程实验室介绍/image-20211107180055578.png)
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## iOS
首先,将生成的 `.mobileconfig` 文件传送到你的 iOS 设备,并且导入为 iOS 配置描述文件。
在完成之后,检查并确保 "IKEv2 VPN" 显示在设置 -> 通用 -> 描述文件中。
要连接到 VPN:
1. 进入设置 -> 通用 -> VPN。
2. 选择服务器地址为 `218.17.184.34` VPN 连接。
3. 启用 **VPN** 连接。
传送到IOS设备可以使用 AirDrop(隔空投送)或者文件共享然后打开 iOS 设备上的 "文件" App
也可以使用微信来传送 微信中点击文件 用其他应用打开 -> 存储到“文件”并指定路径
然后在”文件“APP指定路径下点击文件 即可显示在设置 -> 通用 -> 描述文件中。
![image-20211107184700239](images/远程实验室介绍/image-20211107184700239.png)
找到VNP配置文件并且安装证书到设备
![image-20211107185001212](images/远程实验室介绍/image-20211107185001212.png)
导入证书输入 VPN 的密码,并连接到 218.17.184.34 远程实验室
![image-20211107185802715](images/远程实验室介绍/image-20211107185802715.png)
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## Android
1. 将生成的 `.sswan` 文件安全地传送到你的 Android 设备。
2. 导入并安装 strongSwan VPN 客户端。
3. 启动 strongSwan VPN 客户端。
4. 单击右上角的 "更多选项" 菜单,然后单击 **导入VPN配置**
5. 选择你从服务器传送过来的 `.sswan` 文件。
**注:** 要查找 `.sswan` 文件,单击左上角的抽拉式菜单,然后浏览到你保存文件的目录。
6. 在 "导入VPN配置" 屏幕上,单击 **从VPN配置导入证书**,并按提示操作。
7. 在 "选择证书" 屏幕上,选择新的客户端证书并单击 **选择**
8. 单击 **导入**
9. 单击新的 VPN 配置文件以开始连接。
如果在连接过程中遇到错误,请参见 [接入故障排除](接入远程实验室故障排除.md)
## IP、账号密码
Windows 7 主机 IP 为 192.168.100.23
用户名:ubains
密码:123456
## 开始连接
1. 打开**远程桌面连接**客户端
![image-20211108230746352](images/远程实验室介绍/image-20211108230746352.png)
2. 输入IP、用户名密码
![image-20211108231046636](images/远程实验室介绍/image-20211108231046636.png)
3. 确认连接
![image-20211108231119988](images/远程实验室介绍/image-20211108231119988.png)
点击是进入连接
![image-20211121172943252](images/远程实验室介绍/image-20211121172943252.png)
## 关于远程桌面电脑
- 可以拷贝此电脑任何软件和文档,但是不要删除、剪切此电脑文件。
- 不要将文件或软件上传到此电脑上
## 开始使用
在执行此文档的操作之前确保您已经完成了VPN的连接和远程桌面的连接。
因为我们不希望所有设备常供电,摄像机、编码器、矩阵设备是必须可断电的,在不使用的时候我们可以直接手动关闭远程实验室的设备。
所以在进入远程桌面后您还需知道这些操作来帮助您使用。
## 操作手册
您可以在您电脑或者远程桌面电脑的浏览器中输入[http://192.168.100.23/](http://192.168.100.23/)打开操作手册,如下图所示。![image-20211121185429245](images/远程实验室介绍/image-20211121185429245.png)
操作手册的WEB服务随Windows一起启动,如果访问不了请用远程桌面先连接一下。
## 开启设备电源
摄像机、编码器、矩阵电源是可能是关闭的,您需要开启他们以便您能通过RTSP播放器观看到摄像机画面
- 时序电源接在`192.168.100.13` 中控的 `COM8`
- 时序电源波特率为 `2400 `
- 指令代码为16 进制格式
- 时序开代码为`55 01 00 0D F0 AA`
- 时序关代码为`55 01 00 0D F1 AA`
![Snipaste_2021-11-21_19-05-18](images/远程实验室介绍/Snipaste_2021-11-21_19-05-18.png)
发送完时序电源开代码后通常1分钟左右设备启动,您可通过RTSP播放器查看画面
## 监视矩阵画面
开启电源后您可以通过远程桌面的两个软件来查看矩阵输出通道的画面,如现场摄像机画面。
![image-20211121192104696](images/远程实验室介绍/image-20211121192104696.png)
更多关于RTSP播放器请看[查看视频信号](查看视频信号.md)
## 调整摄像机角度
如果摄像机角度不佳,您可以通过控制摄像机云台来调整摄像机,直接在远程桌面电脑打开Google Chrome浏览器,点击书签栏地址进入摄像机WEB页面。
浏览器已经记住密码,无需输入密码,更多密码信息访问[设备信息](设备信息表.md)
![image-20211121192835918](images/远程实验室介绍/image-20211121192835918.png)
## 使用灯光
当你晚上接入的时候,可能实验环境的灯光已经关闭,会影响到观看,您可以通过网页打开一个辅助灯光来照明
直接在远程桌面电脑打开Google Chrome浏览器,点击书签栏地址进入继电器箱WEB页面。
![image-20211121193455227](images/远程实验室介绍/image-20211121193455227.png)
## 什么是远程实验室
远程实验室是 **UBAINS** 为公司员工、合作伙伴和客户提供的远程的编程练习,设备调试、方案演示的环境
借助远程实验室,合作伙伴可以远程进编程测试,设备调试,解决方案演示,认证教学等活动。:cn:
## 远程实验室有什么
1. 实验室将逐步部署 UBAINS 全系列产品和多种解决方案和场景应用。
2. 提供 UBAINS 中控编程的练习和考核环境,目前提供 UBAINS 初级编程考核场景。
4. 提供不限于UBAINS品牌的其他常见品牌设备和方案。
4. 可申请服务器用于部署软件服务,目前提供 *CentOS* 服务器用不预定运维部署练习。
## 远程实验室能做什么
- UBAINS 编程练习
> 通过 VPN 接入远程实验室,使的你电脑和实验环境处于同一网段,届时您可通过播放器查看实验环境的现场摄像机和任何接入系统的视频信号,直接使用接入电脑即可调试中控和设备。
- 方案演示
> 接入远程实验室后您可访问实验室里的所有设备和服务,如预定运维,您可以在您的电脑上直接预定会议查看运维设备状态。
>
> 您也可以将手机或者平板接入远程实验室,通过它们可直接控制实验室设备,并通过远程摄像机实时查看效果。
- 程序测试功能验证
> 您编写好了一个程序或者增加了一个新的功能需要实机运行测试看效果,可随时随地接入远程实验室上传并进行测试。
>
## 如何申请远程实验室
现阶段您可以通过我司的销售申请,并提供您的邮箱用于接受远程实验室的接入凭证。
更多服务升级和变更将会通过 [UBAINS 论坛](http://bbs.ubainsyun.com/) 发布, 敬请关注!
## 如何接入远程实验室
准备一台可访问互联网的设备,windows 、android、ios均可
以 windows 为例只需要导入证书然后新建一个网络连接并提供用户名、密码、服务器地址即可,不需要下载安装其他软件。
接入的具体详细步骤请查看此文档的 [如何接入](如何接入远程实验室.md) 章节
## FAQ
1. **远程实验室和现场的差异?如何保证远程调试演示效果?**
> 从调试上来看,远程接入和现场网络接入没有区别,我们通过VPN技术将接入设备分配的 IP 可以直接访问实验室设备 IP。
>
> 而不是远程桌面这种方式,使用的是远程的电脑的环境,从而保证使用您最熟悉的电脑环境进行编程调试。
>
> 可通过将设备视频画面路由给编码器来观看所有视频输入源画面,包括现场摄像机。
2. **连接上远程实验室能否上网?**
> 不能通过远程实验室上网,远程实验室是一个内网环境,只提供VNP接入设备与内网设备的网络互通。
>
> android 、ios、windows 10 在连接上远程实验室后可以通过自身网络访问互联网。
>
> windows 7 内置的 VPN 客户端但是由于版本问题不能访问互联网
3. **GViewer 、android 触摸屏 iPad 如何使用**
> 在接入的电脑直接可以使用 GViewer 可以控制,也可远程上实验室的 UT-10 触摸屏进行操作
>
> 也可将您自己的 android 、ipad 接入远程实验室使用
4. **实验室环境的设备信息、接线图、IP地址、账号密码如何获取?**
> 申请到实验室后将在通知邮件中包含本次申请实验室时间信息和实验室操作指南 。
>
> 同时在实验室环境中存在一台 Windows 7 系统电脑上也存放着与实验室相关的各种产品文档,设备信息文档,调试软件、工具等。
5. **申请到实验室后账号的有效期是多久?一个账号可以多人使用吗?**
> 账号登录的有效期通常为申请实验室的时长,到期会释放账号。同一个账号可以同时多台设备同时登录。可以多人同时连接到实验室。
## IP、账号密码
Windows 7 主机 IP 为 192.168.100.23
用户名:ubains
密码:123456
## 开始连接
1. 打开**远程桌面连接**客户端
![image-20211108230746352](images/远程桌面/image-20211108230746352.png)
2. 输入IP、用户名密码
![image-20211108231046636](images/远程桌面/image-20211108231046636.png)
3. 确认连接
![image-20211108231119988](images/远程桌面/image-20211108231119988.png)
点击是进入连接
![image-20211121172943252](images/远程桌面/image-20211121172943252.png)
## 关于远程桌面电脑
- 可以拷贝此电脑任何软件和文档,但是不要删除、剪切此电脑文件。
- 不要将文件或软件上传到此电脑上
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论