/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=python /
var _self=“undefined”!=typeof window?window:“undefined”!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-([\w-]+)\b/i,t=0,n=_self.Prism={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):“Array”===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,”&“).replace(/</g,”<“).replace(/\u00a0/g,” “)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.id||Object.defineProperty(e,”id”,{value:++t}),e.__id},clone:function(e,t){var a=n.util.type(e);switch(t=t||{},a){case”Object”:if(t[n.util.objId(e)])return t[n.util.objId(e)];var r={};t[n.util.objId(e)]=r;for(var l in e)e.hasOwnProperty(l)&&(r[l]=n.util.clone(e[l],t));return r;case”Array”:if(t[n.util.objId(e)])return t[n.util.objId(e)];var r=[];return t[n.util.objId(e)]=r,e.forEach(function(e,a){r[a]=n.util.clone(e,t)}),r}return e}},languages:{extend:function(e,t){var a=n.util.clone(n.languages[e]);for(var r in t)a[r]=t[r];return a},insertBefore:function(e,t,a,r){r=r||n.languages;var l=r[e],i={};for(var o in l)if(l.hasOwnProperty(o)){if(o==t)for(var s in a)a.hasOwnProperty(s)&&(i[s]=a[s]);a.hasOwnProperty(o)||(i[o]=l[o])}var u=r[e];return r[e]=i,n.languages.DFS(n.languages,function(t,n){n===u&&t!=e&&(this[t]=i)}),i},DFS:function(e,t,a,r){r=r||{};for(var l in e)e.hasOwnProperty(l)&&(t.call(e,l,e[l],a||l),“Object”!==n.util.type(e[l])||r[n.util.objId(e[l])]?“Array”!==n.util.type(e[l])||r[n.util.objId(e[l])]||(r[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,l,r)):(r[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,null,r)))}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,a){var r={callback:a,selector:‘code[class=“language-”], [class=“language-”] code, code[class=“lang-”], [class=“lang-”] code’};n.hooks.run(“before-highlightall”,r);for(var l,i=r.elements||e.querySelectorAll(r.selector),o=0;l=i[o++];)n.highlightElement(l,t===!0,r.callback)},highlightElement:function(t,a,r){for(var l,i,o=t;o&&!e.test(o.className);)o=o.parentNode;o&&(l=(o.className.match(e)||[,“”])[1].toLowerCase(),i=n.languages[l]),t.className=t.className.replace(e,“”).replace(/\s+/g,” “)+” language-“+l,t.parentNode&&(o=t.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,“”).replace(/\s+/g,” “)+” language-“+l));var s=t.textContent,u={element:t,language:l,grammar:i,code:s},g=function(e){u.highlightedCode=e,n.hooks.run(“before-insert”,u),u.element.innerHTML=u.highlightedCode,n.hooks.run(“after-highlight”,u),n.hooks.run(“complete”,u),r&&r.call(u.element)};if(n.hooks.run(“before-sanity-check”,u),!u.code)return n.hooks.run(“complete”,u),void 0;if(n.hooks.run(“before-highlight”,u),!u.grammar)return g(n.util.encode(u.code)),void 0;if(a&&_self.Worker){var c=new Worker(n.filename);c.onmessage=function(e){g(e.data)},c.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else g(n.highlight(u.code,u.grammar,u.language))},highlight:function(e,t,r){var l={code:e,grammar:t,language:r};return n.hooks.run(“before-tokenize”,l),l.tokens=n.tokenize(l.code,l.grammar),n.hooks.run(“after-tokenize”,l),a.stringify(n.util.encode(l.tokens),l.language)},matchGrammar:function(e,t,a,r,l,i,o){var s=n.Token;for(var u in a)if(a.hasOwnProperty(u)&&a[u]){if(u==o)return;var g=a[u];g=“Array”===n.util.type(g)?g:[g];for(var c=0;c<g.length;++c){var f=g[c],h=f.inside,d=!!f.lookbehind,m=!!f.greedy,p=0,y=f.alias;if(m&&!f.pattern.global){var v=f.pattern.toString().match(/[imuy]$/)[0];f.pattern=RegExp(f.pattern.source,v+“g”)}f=f.pattern||f;for(var b=r,k=l;b/,alias:“punctuation”},rest:null}},string:/[\s\S]+/}},“triple-quoted-string”:{pattern:/(?:[rub]|rb|br)?(“”“|”‘)[\s\S]+?\1/i,greedy:!0,alias:“string”},string:{pattern:/(?:[rub]|rb|br)?(“|‘)(?:\.|(?!\1)[^\\r\n])\1/i,greedy:!0},“function”:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z]\w(?=\s()/g,lookbehind:!0},“class-name”:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s)@\w+(?:.\w+)/i,lookbehind:!0,alias:[“annotation”,“punctuation”],inside:{punctuation:/./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:import|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,“boolean”:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f].?\d|.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|**?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[];(),.:]/},Prism.languages.python[“string-interpolation”].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;