self=typeof window!="undefined"?window:typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope?self:{};var Prism=function(){var r=/\blang(?:uage)?-(?!\*)(\w+)\b/i,n=self.Prism={util:{encode:function(i){return i instanceof t?new t(i.type,n.util.encode(i.content),i.alias):n.util.type(i)==="Array"?i.map(n.util.encode):i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(n){return Object.prototype.toString.call(n).match(/\[object (\w+)\]/)[1]},clone:function(t){var u=n.util.type(t),r,i;switch(u){case"Object":r={};for(i in t)t.hasOwnProperty(i)&&(r[i]=n.util.clone(t[i]));return r;case"Array":return t.slice()}return t}},languages:{extend:function(t,i){var r=n.util.clone(n.languages[t]);for(var u in i)r[u]=i[u];return r},insertBefore:function(t,i,r,u){var e,o,f,s;u=u||n.languages;e=u[t];o={};for(f in e)if(e.hasOwnProperty(f)){if(f==i)for(s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);o[f]=e[f]}return u[t]=o},DFS:function(t,i,r){for(var u in t)t.hasOwnProperty(u)&&(i.call(t,u,t[u],r||u),n.util.type(t[u])==="Object"?n.languages.DFS(t[u],i):n.util.type(t[u])==="Array"&&n.languages.DFS(t[u],i,u))}},highlightAll:function(t,i){for(var u=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),f=0,r;r=u[f++];)n.highlightElement(r,t===!0,i)},highlightElement:function(i,u,f){for(var s,h,o=i,c,e,l;o&&!r.test(o.className);)o=o.parentNode;(o&&(s=(o.className.match(r)||[,""])[1],h=n.languages[s]),h)&&(i.className=i.className.replace(r,"").replace(/\s+/g," ")+" language-"+s,o=i.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(r,"").replace(/\s+/g," ")+" language-"+s),c=i.textContent,c)&&(e={element:i,language:s,grammar:h,code:c},n.hooks.run("before-highlight",e),u&&self.Worker?(l=new Worker(n.filename),l.onmessage=function(i){e.highlightedCode=t.stringify(JSON.parse(i.data),s);n.hooks.run("before-insert",e);e.element.innerHTML=e.highlightedCode;f&&f.call(e.element);n.hooks.run("after-highlight",e)},l.postMessage(JSON.stringify({language:e.language,code:e.code}))):(e.highlightedCode=n.highlight(e.code,e.grammar,e.language),n.hooks.run("before-insert",e),e.element.innerHTML=e.highlightedCode,f&&f.call(i),n.hooks.run("after-highlight",e)))},highlight:function(i,r,u){var f=n.tokenize(i,r);return t.stringify(n.util.encode(f),u)},tokenize:function(t,i){var y=n.Token,o=[t],a=i.rest,r,e,c,s,h,f,d;if(a){for(r in a)i[r]=a[r];delete i.rest}n:for(r in i)if(i.hasOwnProperty(r)&&i[r])for(e=i[r],e=n.util.type(e)==="Array"?e:[e],c=0;c<e.length;++c){var u=e[c],p=u.inside,g=!!u.lookbehind,v=0,nt=u.alias;for(u=u.pattern||u,s=0;s<o.length;s++){if(h=o[s],o.length>t.length)break n;if(!(h instanceof y)&&(u.lastIndex=0,f=u.exec(h),f)){g&&(v=f[1].length);var w=f.index-1+v,f=f[0].slice(v),tt=f.length,it=w+tt,b=h.slice(0,w+1),k=h.slice(it+1),l=[s,1];b&&l.push(b);d=new y(r,p?n.tokenize(f,p):f,nt);l.push(d);k&&l.push(k);Array.prototype.splice.apply(o,l)}}}return o},hooks:{all:{},add:function(t,i){var r=n.hooks.all;r[t]=r[t]||[];r[t].push(i)},run:function(t,i){var r=n.hooks.all[t],u,f;if(r&&r.length)for(u=0;f=r[u++];)f(i)}}},t=n.Token=function(n,t,i){this.type=n;this.content=t;this.alias=i},i;return(t.stringify=function(i,r,u){var f,s,e,o;if(typeof i=="string")return i;if(Object.prototype.toString.call(i)=="[object Array]")return i.map(function(n){return t.stringify(n,r,i)}).join("");f={type:i.type,content:t.stringify(i.content,r,u),tag:"span",classes:["token",i.type],attributes:{},language:r,parent:u};f.type=="comment"&&(f.attributes.spellcheck="true");i.alias&&(s=n.util.type(i.alias)==="Array"?i.alias:[i.alias],Array.prototype.push.apply(f.classes,s));n.hooks.run("wrap",f);e="";for(o in f.attributes)e+=o+'="'+(f.attributes[o]||"")+'"';return"<"+f.tag+' class="'+f.classes.join(" ")+'" '+e+">"+f.content+"<\/"+f.tag+">"},!self.document)?self.addEventListener?(self.addEventListener("message",function(t){var i=JSON.parse(t.data),r=i.language,u=i.code;self.postMessage(JSON.stringify(n.util.encode(n.tokenize(u,n.languages[r]))));self.close()},!1),self.Prism):self.Prism:(i=document.getElementsByTagName("script"),i=i[i.length-1],i&&(n.filename=i.src,document.addEventListener&&!i.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",n.highlightAll)),self.Prism)}();typeof module!="undefined"&&module.exports&&(module.exports=Prism);Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/\&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&amp;/,"&"))});Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,punctuation:/[\{\};:]/g,"function":/[-a-z0-9]+(?=\()/ig};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/ig,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//g,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*?(\r?\n|$)/g,lookbehind:!0}],string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,boolean:/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/ig,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});Prism.hooks.add("after-highlight",function(n){var t=n.element.parentNode,r,i;t&&/pre/i.test(t.nodeName)&&t.className.indexOf("line-numbers")!==-1&&(r=1+n.code.split("\n").length,lines=new Array(r),lines=lines.join("<span><\/span>"),i=document.createElement("span"),i.className="line-numbers-rows",i.innerHTML=lines,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),n.element.appendChild(i))})