2022-05-20 16:35:30 -07:00

3 lines
113 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function e(t,n,i){function r(o,s){if(!n[o]){if(!t[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[o]={exports:{}};t[o][0].call(u.exports,(function(e){return r(t[o][1][e]||e)}),u,u.exports,e,t,n,i)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e,t,n){var i,r;i=this,r=function(){"use strict";function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(e,n){var i;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(i=function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){i&&(e=i);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=e[Symbol.iterator]()).next.bind(i)}var i=function(e){var t={exports:{}};return e(t,t.exports),t.exports}((function(e){function t(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:t,changeDefaults:function(t){e.exports.defaults=t}}})),r=/[&<>"']/,a=/[&<>"']/g,o=/[<>"']|&(?!#?\w+;)/,s=/[<>"']|&(?!#?\w+;)/g,l={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},c=function(e){return l[e]},u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function p(e){return e.replace(u,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var d=/(^|[^\[])\^/g,f=/[^\w:]/g,h=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,_={},m=/^[^:]+:\/*[^/]*$/,v=/^([^:]+:)[\s\S]*$/,g=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t){_[" "+e]||(m.test(e)?_[" "+e]=e+"/":_[" "+e]=y(e,"/",!0));var n=-1===(e=_[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(v,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(g,"$1")+t:e+t}function y(e,t,n){var i=e.length;if(0===i)return"";for(var r=0;r<i;){var a=e.charAt(i-r-1);if(a!==t||n){if(a===t||!n)break;r++}else r++}return e.substr(0,i-r)}var k=function(e,t){if(t){if(r.test(e))return e.replace(a,c)}else if(o.test(e))return e.replace(s,c);return e},w=p,x=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(d,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n},S=function(e,t,n){if(e){var i;try{i=decodeURIComponent(p(n)).replace(f,"").toLowerCase()}catch(e){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!h.test(n)&&(n=b(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n},A={exec:function(){}},O=function(e){for(var t,n,i=1;i<arguments.length;i++)for(n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},z=function(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var i=!1,r=t;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"})).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(/\\\|/g,"|");return n},$=y,C=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,r=0;r<n;r++)if("\\"===e[r])r++;else if(e[r]===t[0])i++;else if(e[r]===t[1]&&--i<0)return r;return-1},M=function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")},P=function(e,t){if(t<1)return"";for(var n="";t>1;)1&t&&(n+=e),t>>=1,e+=e;return n+e},T=i.defaults,j=$,I=z,E=k,R=C;function N(e,t,n){var i=t.href,r=t.title?E(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:i,title:r,text:a}:{type:"image",raw:n,href:i,title:r,text:E(a)}}var B=function(){function e(e){this.options=e||T}var t=e.prototype;return t.space=function(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e,t){var n=this.rules.block.code.exec(e);if(n){var i=t[t.length-1];if(i&&"paragraph"===i.type)return{raw:n[0],text:n[0].trimRight()};var r=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:j(r,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=j(n,"#");this.options.pedantic?n=i.trim():i&&!/ $/.test(i)||(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:I(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i<r;i++)/^ *-+: *$/.test(n.align[i])?n.align[i]="right":/^ *:-+: *$/.test(n.align[i])?n.align[i]="center":/^ *:-+ *$/.test(n.align[i])?n.align[i]="left":n.align[i]=null;for(r=n.cells.length,i=0;i<r;i++)n.cells[i]=I(n.cells[i],n.header.length);return n}}},t.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,i,r,a,o,s,l,c,u=t[0],p=t[2],d=p.length>1,f={type:"list",raw:u,ordered:d,start:d?+p.slice(0,-1):"",loose:!1,items:[]},h=t[0].match(this.rules.block.item),_=!1,m=h.length;r=this.rules.block.listItemStart.exec(h[0]);for(var v=0;v<m;v++){if(u=n=h[v],v!==m-1){if((a=this.rules.block.listItemStart.exec(h[v+1]))[1].length>r[0].length||a[1].length>3){h.splice(v,2,h[v]+"\n"+h[v+1]),v--,m--;continue}(!this.options.pedantic||this.options.smartLists?a[2][a[2].length-1]!==p[p.length-1]:d===(1===a[2].length))&&(o=h.slice(v+1).join("\n"),f.raw=f.raw.substring(0,f.raw.length-o.length),v=m-1),r=a}i=n.length,~(n=n.replace(/^ *([*+-]|\d+[.)]) ?/,"")).indexOf("\n ")&&(i-=n.length,n=this.options.pedantic?n.replace(/^ {1,4}/gm,""):n.replace(new RegExp("^ {1,"+i+"}","gm"),"")),s=_||/\n\n(?!\s*$)/.test(n),v!==m-1&&(_="\n"===n.charAt(n.length-1),s||(s=_)),s&&(f.loose=!0),this.options.gfm&&(c=void 0,(l=/^\[[ xX]\] /.test(n))&&(c=" "!==n[1],n=n.replace(/^\[[ xX]\] +/,""))),f.items.push({type:"list_item",raw:u,task:l,checked:c,loose:s,text:n})}return f}},t.html=function(e){var t=this.rules.block.html.exec(e);if(t)return{type:this.options.sanitize?"paragraph":"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):E(t[0]):t[0]}},t.def=function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}},t.table=function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:I(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var i,r=n.align.length;for(i=0;i<r;i++)/^ *-+: *$/.test(n.align[i])?n.align[i]="right":/^ *:-+: *$/.test(n.align[i])?n.align[i]="center":/^ *:-+ *$/.test(n.align[i])?n.align[i]="left":n.align[i]=null;for(r=n.cells.length,i=0;i<r;i++)n.cells[i]=I(n.cells[i].replace(/^ *\| *| *\| *$/g,""),n.header.length);return n}}},t.lheading=function(e){var t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1]}},t.paragraph=function(e){var t=this.rules.block.paragraph.exec(e);if(t)return{type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1]}},t.text=function(e,t){var n=this.rules.block.text.exec(e);if(n){var i=t[t.length-1];return i&&"text"===i.type?{raw:n[0],text:n[0]}:{type:"text",raw:n[0],text:n[0]}}},t.escape=function(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:E(t[1])}},t.tag=function(e,t,n){var i=this.rules.inline.tag.exec(e);if(i)return!t&&/^<a /i.test(i[0])?t=!0:t&&/^<\/a>/i.test(i[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):E(i[0]):i[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;var i=j(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(t[2],"()");if(r>-1){var a=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,a).trim(),t[3]=""}}var o=t[2],s="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],s=l[3])}else s=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(o=this.options.pedantic&&!/>$/.test(n)?o.slice(1):o.slice(1,-1)),N(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:s?s.replace(this.rules.inline._escapes,"$1"):s},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},t.strong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.strong.start.exec(e);if(i&&(!i[1]||i[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var r,a="**"===i[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(a.lastIndex=0;null!=(i=a.exec(t));)if(r=this.rules.inline.strong.middle.exec(t.slice(0,i.index+3)))return{type:"strong",raw:e.slice(0,r[0].length),text:e.slice(2,r[0].length-2)}}},t.em=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.em.start.exec(e);if(i&&(!i[1]||i[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var r,a="*"===i[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(a.lastIndex=0;null!=(i=a.exec(t));)if(r=this.rules.inline.em.middle.exec(t.slice(0,i.index+2)))return{type:"em",raw:e.slice(0,r[0].length),text:e.slice(1,r[0].length-1)}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=E(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var n,i,r=this.rules.inline.autolink.exec(e);if(r)return i="@"===r[2]?"mailto:"+(n=E(this.options.mangle?t(r[1]):r[1])):n=E(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,r;if("@"===n[2])r="mailto:"+(i=E(this.options.mangle?t(n[0]):n[0]));else{var a;do{a=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(a!==n[0]);i=E(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},t.inlineText=function(e,t,n){var i,r=this.rules.inline.text.exec(e);if(r)return i=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):E(r[0]):r[0]:E(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},e}(),D=A,U=x,L=O,q={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:D,table:D,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};q.def=U(q.def).replace("label",q._label).replace("title",q._title).getRegex(),q.bullet=/(?:[*+-]|\d{1,9}[.)])/,q.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,q.item=U(q.item,"gm").replace(/bull/g,q.bullet).getRegex(),q.listItemStart=U(/^( *)(bull)/).replace("bull",q.bullet).getRegex(),q.list=U(q.list).replace(/bull/g,q.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+q.def.source+")").getRegex(),q._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",q._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,q.html=U(q.html,"i").replace("comment",q._comment).replace("tag",q._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),q.paragraph=U(q._paragraph).replace("hr",q.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",q._tag).getRegex(),q.blockquote=U(q.blockquote).replace("paragraph",q.paragraph).getRegex(),q.normal=L({},q),q.gfm=L({},q.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),q.gfm.nptable=U(q.gfm.nptable).replace("hr",q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",q._tag).getRegex(),q.gfm.table=U(q.gfm.table).replace("hr",q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",q._tag).getRegex(),q.pedantic=L({},q.normal,{html:U("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",q._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:D,paragraph:U(q.normal._paragraph).replace("hr",q.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",q.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var W={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:D,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:D,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\s*punctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};W.punctuation=U(W.punctuation).replace(/punctuation/g,W._punctuation).getRegex(),W._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",W._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",W._comment=U(q._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),W.em.start=U(W.em.start).replace(/punctuation/g,W._punctuation).getRegex(),W.em.middle=U(W.em.middle).replace(/punctuation/g,W._punctuation).replace(/overlapSkip/g,W._overlapSkip).getRegex(),W.em.endAst=U(W.em.endAst,"g").replace(/punctuation/g,W._punctuation).getRegex(),W.em.endUnd=U(W.em.endUnd,"g").replace(/punctuation/g,W._punctuation).getRegex(),W.strong.start=U(W.strong.start).replace(/punctuation/g,W._punctuation).getRegex(),W.strong.middle=U(W.strong.middle).replace(/punctuation/g,W._punctuation).replace(/overlapSkip/g,W._overlapSkip).getRegex(),W.strong.endAst=U(W.strong.endAst,"g").replace(/punctuation/g,W._punctuation).getRegex(),W.strong.endUnd=U(W.strong.endUnd,"g").replace(/punctuation/g,W._punctuation).getRegex(),W.blockSkip=U(W._blockSkip,"g").getRegex(),W.overlapSkip=U(W._overlapSkip,"g").getRegex(),W._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,W._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,W._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,W.autolink=U(W.autolink).replace("scheme",W._scheme).replace("email",W._email).getRegex(),W._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,W.tag=U(W.tag).replace("comment",W._comment).replace("attribute",W._attribute).getRegex(),W._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,W._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,W._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,W.link=U(W.link).replace("label",W._label).replace("href",W._href).replace("title",W._title).getRegex(),W.reflink=U(W.reflink).replace("label",W._label).getRegex(),W.reflinkSearch=U(W.reflinkSearch,"g").replace("reflink",W.reflink).replace("nolink",W.nolink).getRegex(),W.normal=L({},W),W.pedantic=L({},W.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:U(/^!?\[(label)\]\((.*?)\)/).replace("label",W._label).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W._label).getRegex()}),W.gfm=L({},W.normal,{escape:U(W.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),W.gfm.url=U(W.gfm.url,"i").replace("email",W.gfm._extended_email).getRegex(),W.breaks=L({},W.gfm,{br:U(W.br).replace("{2,}","*").getRegex(),text:U(W.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var H={block:q,inline:W},F=i.defaults,J=H.block,Z=H.inline,Q=P;function Y(e){return e.replace(/---/g,"—").replace(/--/g,"").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1").replace(/'/g,"").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function G(e){var t,n,i="",r=e.length;for(t=0;t<r;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var V=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||F,this.options.tokenizer=this.options.tokenizer||new B,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:J.normal,inline:Z.normal};this.options.pedantic?(t.block=J.pedantic,t.inline=Z.pedantic):this.options.gfm&&(t.block=J.gfm,this.options.breaks?t.inline=Z.breaks:t.inline=Z.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n,i,r,a=t.prototype;return a.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},a.blockTokens=function(e,t,n){var i,r,a,o;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(i=this.tokenizer.space(e))e=e.substring(i.raw.length),i.type&&t.push(i);else if(i=this.tokenizer.code(e,t))e=e.substring(i.raw.length),i.type?t.push(i):((o=t[t.length-1]).raw+="\n"+i.raw,o.text+="\n"+i.text);else if(i=this.tokenizer.fences(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.heading(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.nptable(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.hr(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.blockquote(e))e=e.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),t.push(i);else if(i=this.tokenizer.list(e)){for(e=e.substring(i.raw.length),a=i.items.length,r=0;r<a;r++)i.items[r].tokens=this.blockTokens(i.items[r].text,[],!1);t.push(i)}else if(i=this.tokenizer.html(e))e=e.substring(i.raw.length),t.push(i);else if(n&&(i=this.tokenizer.def(e)))e=e.substring(i.raw.length),this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});else if(i=this.tokenizer.table(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.lheading(e))e=e.substring(i.raw.length),t.push(i);else if(n&&(i=this.tokenizer.paragraph(e)))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.text(e,t))e=e.substring(i.raw.length),i.type?t.push(i):((o=t[t.length-1]).raw+="\n"+i.raw,o.text+="\n"+i.text);else if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}throw new Error(s)}return t},a.inline=function(e){var t,n,i,r,a,o,s=e.length;for(t=0;t<s;t++)switch((o=e[t]).type){case"paragraph":case"text":case"heading":o.tokens=[],this.inlineTokens(o.text,o.tokens);break;case"table":for(o.tokens={header:[],cells:[]},r=o.header.length,n=0;n<r;n++)o.tokens.header[n]=[],this.inlineTokens(o.header[n],o.tokens.header[n]);for(r=o.cells.length,n=0;n<r;n++)for(a=o.cells[n],o.tokens.cells[n]=[],i=0;i<a.length;i++)o.tokens.cells[n][i]=[],this.inlineTokens(a[i],o.tokens.cells[n][i]);break;case"blockquote":this.inline(o.tokens);break;case"list":for(r=o.items.length,n=0;n<r;n++)this.inline(o.items[n].tokens)}return e},a.inlineTokens=function(e,t,n,i){var r;void 0===t&&(t=[]),void 0===n&&(n=!1),void 0===i&&(i=!1);var a,o,s,l=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(l));)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,a.index)+"["+Q("a",a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,a.index)+"["+Q("a",a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;e;)if(o||(s=""),o=!1,r=this.tokenizer.escape(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.tag(e,n,i))e=e.substring(r.raw.length),n=r.inLink,i=r.inRawBlock,t.push(r);else if(r=this.tokenizer.link(e))e=e.substring(r.raw.length),"link"===r.type&&(r.tokens=this.inlineTokens(r.text,[],!0,i)),t.push(r);else if(r=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(r.raw.length),"link"===r.type&&(r.tokens=this.inlineTokens(r.text,[],!0,i)),t.push(r);else if(r=this.tokenizer.strong(e,l,s))e=e.substring(r.raw.length),r.tokens=this.inlineTokens(r.text,[],n,i),t.push(r);else if(r=this.tokenizer.em(e,l,s))e=e.substring(r.raw.length),r.tokens=this.inlineTokens(r.text,[],n,i),t.push(r);else if(r=this.tokenizer.codespan(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.br(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.del(e))e=e.substring(r.raw.length),r.tokens=this.inlineTokens(r.text,[],n,i),t.push(r);else if(r=this.tokenizer.autolink(e,G))e=e.substring(r.raw.length),t.push(r);else if(n||!(r=this.tokenizer.url(e,G))){if(r=this.tokenizer.inlineText(e,i,Y))e=e.substring(r.raw.length),s=r.raw.slice(-1),o=!0,t.push(r);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else e=e.substring(r.raw.length),t.push(r);return t},n=t,r=[{key:"rules",get:function(){return{block:J,inline:Z}}}],(i=null)&&e(n.prototype,i),r&&e(n,r),t}(),X=i.defaults,K=S,ee=k,te=function(){function e(e){this.options=e||X}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",i?'<pre><code class="'+this.options.langPrefix+ee(i,!0)+'">'+(n?e:ee(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:ee(e,!0))+"</code></pre>\n"},t.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+i.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},t.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+i+">\n"},t.listitem=function(e){return"<li>"+e+"</li>\n"},t.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},t.paragraph=function(e){return"<p>"+e+"</p>\n"},t.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},t.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},t.strong=function(e){return"<strong>"+e+"</strong>"},t.em=function(e){return"<em>"+e+"</em>"},t.codespan=function(e){return"<code>"+e+"</code>"},t.br=function(){return this.options.xhtml?"<br/>":"<br>"},t.del=function(e){return"<del>"+e+"</del>"},t.link=function(e,t,n){if(null===(e=K(this.options.sanitize,this.options.baseUrl,e)))return n;var i='<a href="'+ee(e)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+n+"</a>"},t.image=function(e,t,n){if(null===(e=K(this.options.sanitize,this.options.baseUrl,e)))return n;var i='<img src="'+e+'" alt="'+n+'"';return t&&(i+=' title="'+t+'"'),i+=this.options.xhtml?"/>":">"},t.text=function(e){return e},e}(),ne=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),ie=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),re=i.defaults,ae=w,oe=function(){function e(e){this.options=e||re,this.options.renderer=this.options.renderer||new te,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ne,this.slugger=new ie}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,a,o,s,l,c,u,p,d,f,h,_,m,v,g,b,y="",k=e.length;for(n=0;n<k;n++)switch((p=e[n]).type){case"space":continue;case"hr":y+=this.renderer.hr();continue;case"heading":y+=this.renderer.heading(this.parseInline(p.tokens),p.depth,ae(this.parseInline(p.tokens,this.textRenderer)),this.slugger);continue;case"code":y+=this.renderer.code(p.text,p.lang,p.escaped);continue;case"table":for(c="",l="",a=p.header.length,i=0;i<a;i++)l+=this.renderer.tablecell(this.parseInline(p.tokens.header[i]),{header:!0,align:p.align[i]});for(c+=this.renderer.tablerow(l),u="",a=p.cells.length,i=0;i<a;i++){for(l="",o=(s=p.tokens.cells[i]).length,r=0;r<o;r++)l+=this.renderer.tablecell(this.parseInline(s[r]),{header:!1,align:p.align[r]});u+=this.renderer.tablerow(l)}y+=this.renderer.table(c,u);continue;case"blockquote":u=this.parse(p.tokens),y+=this.renderer.blockquote(u);continue;case"list":for(d=p.ordered,f=p.start,h=p.loose,a=p.items.length,u="",i=0;i<a;i++)v=(m=p.items[i]).checked,g=m.task,_="",m.task&&(b=this.renderer.checkbox(v),h?m.tokens.length>0&&"text"===m.tokens[0].type?(m.tokens[0].text=b+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=b+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:b}):_+=b),_+=this.parse(m.tokens,h),u+=this.renderer.listitem(_,g,v);y+=this.renderer.list(u,d,f);continue;case"html":y+=this.renderer.html(p.text);continue;case"paragraph":y+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case"text":for(u=p.tokens?this.parseInline(p.tokens):p.text;n+1<k&&"text"===e[n+1].type;)u+="\n"+((p=e[++n]).tokens?this.parseInline(p.tokens):p.text);y+=t?this.renderer.paragraph(u):u;continue;default:var w='Token with "'+p.type+'" type was not found.';if(this.options.silent)return void console.error(w);throw new Error(w)}return y},t.parseInline=function(e,t){t=t||this.renderer;var n,i,r="",a=e.length;for(n=0;n<a;n++)switch((i=e[n]).type){case"escape":r+=t.text(i.text);break;case"html":r+=t.html(i.text);break;case"link":r+=t.link(i.href,i.title,this.parseInline(i.tokens,t));break;case"image":r+=t.image(i.href,i.title,i.text);break;case"strong":r+=t.strong(this.parseInline(i.tokens,t));break;case"em":r+=t.em(this.parseInline(i.tokens,t));break;case"codespan":r+=t.codespan(i.text);break;case"br":r+=t.br();break;case"del":r+=t.del(this.parseInline(i.tokens,t));break;case"text":r+=t.text(i.text);break;default:var o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return void console.error(o);throw new Error(o)}return r},e}(),se=O,le=M,ce=k,ue=i.getDefaults,pe=i.changeDefaults,de=i.defaults;function fe(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),t=se({},fe.defaults,t||{}),le(t),n){var i,r=t.highlight;try{i=V.lex(e,t)}catch(e){return n(e)}var a=function(e){var a;if(!e)try{a=oe.parse(i,t)}catch(t){e=t}return t.highlight=r,e?n(e):n(null,a)};if(!r||r.length<3)return a();if(delete t.highlight,!i.length)return a();var o=0;return fe.walkTokens(i,(function(e){"code"===e.type&&(o++,setTimeout((function(){r(e.text,e.lang,(function(t,n){if(t)return a(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),0==--o&&a()}))}),0))})),void(0===o&&a())}try{var s=V.lex(e,t);return t.walkTokens&&fe.walkTokens(s,t.walkTokens),oe.parse(s,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+ce(e.message+"",!0)+"</pre>";throw e}}return fe.options=fe.setOptions=function(e){return se(fe.defaults,e),pe(fe.defaults),fe},fe.getDefaults=ue,fe.defaults=de,fe.use=function(e){var t=se({},e);if(e.renderer&&function(){var n=fe.defaults.renderer||new te,i=function(t){var i=n[t];n[t]=function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];var s=e.renderer[t].apply(n,a);return!1===s&&(s=i.apply(n,a)),s}};for(var r in e.renderer)i(r);t.renderer=n}(),e.tokenizer&&function(){var n=fe.defaults.tokenizer||new B,i=function(t){var i=n[t];n[t]=function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];var s=e.tokenizer[t].apply(n,a);return!1===s&&(s=i.apply(n,a)),s}};for(var r in e.tokenizer)i(r);t.tokenizer=n}(),e.walkTokens){var n=fe.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens(t),n&&n(t)}}fe.setOptions(t)},fe.walkTokens=function(e,t){for(var i,r=n(e);!(i=r()).done;){var a=i.value;switch(t(a),a.type){case"table":for(var o,s=n(a.tokens.header);!(o=s()).done;){var l=o.value;fe.walkTokens(l,t)}for(var c,u=n(a.tokens.cells);!(c=u()).done;)for(var p,d=n(c.value);!(p=d()).done;){var f=p.value;fe.walkTokens(f,t)}break;case"list":fe.walkTokens(a.items,t);break;default:a.tokens&&fe.walkTokens(a.tokens,t)}}},fe.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=se({},fe.defaults,t||{}),le(t);try{var n=V.lexInline(e,t);return t.walkTokens&&fe.walkTokens(n,t.walkTokens),oe.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+ce(e.message+"",!0)+"</pre>";throw e}},fe.Parser=oe,fe.parser=oe.parse,fe.Renderer=te,fe.TextRenderer=ne,fe.Lexer=V,fe.lexer=V.lex,fe.Tokenizer=B,fe.Slugger=ie,fe.parse=fe,fe},"object"==typeof n&&void 0!==t?t.exports=r():"function"==typeof define&&define.amd?define(r):(i="undefined"!=typeof globalThis?globalThis:i||self).marked=r()},{}],2:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(t){r(this,e),this.session=t,this.accept_command=["close_session","set_session_id"]}return i(e,[{key:"handle_message",value:function(e){"close_session"==e.command?this.session.close_session():"set_session_id"==e.command&&(this.session.webio_session_id=e.spec)}}]),e}();n.SessionCtrlHandler=a;var o=function(){function e(){r(this,e),this.command2handler={};for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];var a=!0,o=!1,s=void 0;try{for(var l,c=n[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var u=l.value,p=!0,d=!1,f=void 0;try{for(var h,_=u.accept_command[Symbol.iterator]();!(p=(h=_.next()).done);p=!0){var m=h.value;if(m in this.command2handler)throw new Error("Conflict command handler: both "+this.command2handler[m]+" and "+u+" accepts '"+m+"' command");this.command2handler[m]=u}}catch(e){d=!0,f=e}finally{try{!p&&_.return&&_.return()}finally{if(d)throw f}}}}catch(e){o=!0,s=e}finally{try{!a&&c.return&&c.return()}finally{if(o)throw s}}}return i(e,[{key:"dispatch_message",value:function(e){return e.command in this.command2handler&&(this.command2handler[e.command].handle_message(e),!0)}}]),e}();n.CommandDispatcher=o},{}],3:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils"),a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["download"]}return i(e,[{key:"handle_message",value:function(e){var t=r.b64toBlob(e.spec.content);saveAs(t,e.spec.name,{},!1)}}]),e}();n.DownloadHandler=a},{"../utils":27}],4:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../session"),a=e("../state"),o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["set_env"]}return i(e,[{key:"handle_message",value:function(e){var t=e.spec;void 0!==t.title&&(document.title=t.title),void 0!==t.auto_scroll_bottom&&(a.state.AutoScrollBottom=t.auto_scroll_bottom),void 0!==t.output_animation&&(a.config.outputAnimation=t.output_animation),void 0!==t.http_pull_interval&&a.state.CurrentSession instanceof r.HttpSession&&a.state.CurrentSession.change_pull_interval(t.http_pull_interval),void 0!==t.input_panel_min_height&&(a.state.InputPanelMinHeight=t.input_panel_min_height),void 0!==t.input_panel_init_height&&(a.state.InputPanelInitHeight=t.input_panel_init_height),void 0!==t.input_panel_fixed&&(a.state.FixedInputPanel=t.input_panel_fixed),void 0!==t.input_auto_focus&&(a.state.AutoFocusOnInput=t.input_auto_focus),void 0!==t.output_max_width&&$("#output-container").css("max-width",t.output_max_width)}}]),e}();n.EnvSettingHandler=o},{"../session":24,"../state":25}],5:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=e("../utils"),s=e("../state"),l=e("../models/input"),c=e("../ui"),u=e("../i18n"),p=function(){function e(t,n){a(this,e),this.accept_command=["input","input_group","update_input","destroy_form"],this.session=t,this.container_elem=n,this.form_ctrls=new o.LRUMap}return i(e,[{key:"_after_show_form",value:function(){setTimeout((function(){var e=$("#input-cards > .card")[0];e.style.height="unset",e.style.width="unset"}),50),c.show_input();var e=this.form_ctrls.get_top();e&&e[e.length-1].after_show(),s.state.AutoFocusOnInput&&$('[auto_focus="true"]').focus()}},{key:"_activate_form",value:function(e,t){var n=this,i=this.form_ctrls.get_value(e),r=i[i.length-1];if(r===t||void 0===t)return r.element.show(s.state.ShowDuration,(function(){n._after_show_form()}));this.form_ctrls.move_to_top(e),t.element.hide(100,(function(){var e=n.form_ctrls.get_top();e&&e[e.length-1].element.show(s.state.ShowDuration,(function(){n._after_show_form()}))}))}},{key:"handle_message",value:function(e){var t=this,n=this.form_ctrls.get_top(),i=n&&n[n.length-1],r=this.form_ctrls.get_value(e.task_id);if(void 0===r&&(this.form_ctrls.push(e.task_id,[]),r=this.form_ctrls.get_value(e.task_id)),e.command in o.make_set(["input","input_group"])){var a=new d(this.session,e.task_id,e.spec);r.push(a),this.container_elem.append(a.create_element()),a.after_add_to_dom(),this._activate_form(e.task_id,i)}else if(e.command in o.make_set(["update_input"])){if(0===r.length)return console.error("No form to current message. task_id:%s",e.task_id);r[r.length-1].dispatch_ctrl_message(e.spec)}else if("destroy_form"===e.command){if(0===r.length)return console.error("No form to current message. task_id:%s",e.task_id);var l=r.pop();0===r.length&&this.form_ctrls.remove(e.task_id),n===r?l.element.hide(100,(function(){l.element.remove(),c.close_input();var e=t.form_ctrls.get_top();e&&e[e.length-1].element.show(s.state.ShowDuration,(function(){t._after_show_form()}))})):(l.element.remove(),c.close_input())}}}]),e}();n.InputHandler=p;var d=function(){function e(t,n,i){a(this,e),this.element=null,this.name2input={},this.show_count=0,this.session=t,this.task_id=n,this.spec=i}return i(e,[{key:"create_element",value:function(){var t=this,n='\n <div class="card" style="display: none">\n <h5 class="card-header">{{label}}</h5>\n <div class="card-body">\n <form>\n <div class="input-container"></div>\n <div class="ws-form-submit-btns">\n <button type="submit" class="btn btn-primary">'+u.t("submit")+'</button>\n <button type="reset" class="btn btn-warning">'+u.t("reset")+'</button>\n {{#cancelable}}<button type="button" class="pywebio_cancel_btn btn btn-danger">'+u.t("cancel")+"</button>{{/cancelable}}\n </div>\n </form>\n </div>\n </div>",i=this,a=Mustache.render(n,{label:this.spec.label,cancelable:this.spec.cancelable}),s=$(a);if(s.find(".pywebio_cancel_btn").on("click",(function(e){s.find("button").prop("disabled",!0),i.session.send_message({event:"from_cancel",task_id:i.task_id,data:null})})),this.spec.inputs.length&&"actions"===this.spec.inputs[this.spec.inputs.length-1].type){var l=!0,c=!1,p=void 0;try{for(var d,f=this.spec.inputs[this.spec.inputs.length-1].buttons[Symbol.iterator]();!(l=(d=f.next()).done);l=!0){if("submit"===d.value.type){s.find(".ws-form-submit-btns").hide();break}}}catch(e){c=!0,p=e}finally{try{!l&&f.return&&f.return()}finally{if(c)throw p}}}var h=s.find(".input-container"),_=function(n){var i=t.spec.inputs[n];if(!(i.type in e.input_items))throw new Error("Unknown input type '"+i.type+"'");var r=new(0,e.input_items[i.type])(i,t.task_id,(function(e,n){t.session.send_message({event:"input_event",task_id:t.task_id,data:{event_name:e,name:i.name,value:n.get_value()}})}));t.name2input[i.name]=r,h.append(r.create_element())};for(var m in this.spec.inputs)_(m);return s.on("submit","form",(function(e){for(var t in e.preventDefault(),s.find("button").prop("disabled",!0),i.name2input)if(!i.name2input[t].check_valid())return s.find("button").prop("disabled",!1),o.error_alert(u.t("error_in_input"));var n=[],a=[];$.each(i.name2input,(function(e,t){n.push(e),a.push(t.get_value())}));var l=function(e,t){},c=!0,p=!1,d=void 0;try{for(var f,h=i.spec.inputs[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){if("file"==f.value.type){l=i.make_progress();break}}}catch(e){p=!0,d=e}finally{try{!c&&h.return&&h.return()}finally{if(p)throw d}}Promise.all(a).then((function(e){var t={},a=[];for(var s in n)t[n[s]]=e[s],"file"==i.spec.inputs[s].type&&(t[n[s]]=[],a.push.apply(a,r(e[s])));var c={event:"from_submit",task_id:i.task_id,data:t};a.length?i.session.send_buffer(new Blob([o.serialize_json(c)].concat(a),{type:"application/octet-stream"}),l):i.session.send_message(c,l)}))})),this.element=s,s}},{key:"make_progress",value:function(){var e=$('<div class="progress" style="margin-top: 4px;">\n <div class="progress-bar bg-info progress-bar-striped progress-bar-animated" role="progressbar"\n style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">0%\n </div>\n </div>');this.element.find(".card-body").append(e);var t=e.find(".progress-bar");return function(e,n){var i=""+(100*e/n).toFixed(1);t[0].style.width=i+"%",t.attr("aria-valuenow",i),t.text(i+"%")}}},{key:"dispatch_ctrl_message",value:function(e){if(this.element.find("button:not([data-pywebio-disabled])").prop("disabled",!1),this.element.find(".progress").remove(),!(e.target_name in this.name2input))return console.error("Can't find input[name=%s] element in curr form!",e.target_name);this.name2input[e.target_name].update_input(e)}},{key:"after_add_to_dom",value:function(){for(var e in this.name2input)this.name2input[e].after_add_to_dom()}},{key:"after_show",value:function(){for(var e in this.name2input)this.name2input[e].after_show(0===this.show_count);this.show_count+=1}}],[{key:"register_inputitem",value:function(e){var t=!0,n=!1,i=void 0;try{for(var r,a=e.accept_input_types[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){var o=r.value;if(o in this.input_items)throw new Error("duplicated accept_input_types:["+o+"] in "+e+" and "+this.input_items[o]);this.input_items[o]=e}}catch(e){n=!0,i=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw i}}}}]),e}();d.input_items={};var f=!0,h=!1,_=void 0;try{for(var m,v=l.all_input_items[Symbol.iterator]();!(f=(m=v.next()).done);f=!0){var g=m.value;d.register_inputitem(g)}}catch(e){h=!0,_=e}finally{try{!f&&v.return&&v.return()}finally{if(h)throw _}}},{"../i18n":11,"../models/input":17,"../state":25,"../ui":26,"../utils":27}],6:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../state"),a=e("../utils"),o=e("../models/output"),s=["script","style"],l=[];function c(){var e=!0,t=!1,n=void 0;try{for(var i,r=l[Symbol.iterator]();!(e=(i=r.next()).done);e=!0){var a=i.value;try{a.call(this)}catch(e){console.error("Error in callback of pin widget show event.")}}}catch(e){t=!0,n=e}finally{try{!e&&r.return&&r.return()}finally{if(t)throw n}}l=[]}n.AfterCurrentOutputWidgetShow=function(e){l.push(e)},n.trigger_output_widget_show_event=c;var u=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["output","output_ctl"],this.session=t,this.container_elem=n,this.container_parent=this.container_elem.parent()}return i(e,[{key:"scroll_bottom",value:function(){a.body_scroll_to($(".pywebio"),"bottom",null,15)}},{key:"is_elem_visible",value:function(e){try{return-1==s.indexOf(e[0].tagName.toLowerCase())}catch(e){}return!1}},{key:"handle_message",value:function(e){var t=this,n=!1;if("output"===e.command){var i=void 0;try{i=o.getWidgetElement(e.spec)}catch(t){return console.error('Handle command error: "'+t+'"\nCommand:\n'+JSON.stringify(e))}var a=$(e.spec.scope);if(r.config.outputAnimation&&this.is_elem_visible(i)&&1==a.length&&i.hide(),0===a.length)return console.error("Scope '"+e.spec.scope+"' not found");if(e.spec.scope&&"#pywebio-scope-ROOT"!==e.spec.scope||(n=!0),0===e.spec.position)a.prepend(i);else if(-1===e.spec.position)a.append(i);else{var s=!0,l=!1,u=void 0;try{for(var p,d=a[Symbol.iterator]();!(s=(p=d.next()).done);s=!0){var f=p.value,h=$(f.children).eq(e.spec.position);e.spec.position>=0?i.insertBefore(h):i.insertAfter(h)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}i.width()>this.container_elem.width()&&i.wrap($(document.createElement("div")).css("overflow","auto")),this.is_elem_visible(i)&&1==a.length&&(r.config.outputAnimation?i.fadeIn({complete:function(){r.state.AutoScrollBottom&&n&&t.scroll_bottom()}}):r.state.AutoScrollBottom&&n&&this.scroll_bottom()),c()}else"output_ctl"===e.command&&this.handle_output_ctl(e)}},{key:"handle_output_ctl",value:function(e){if(void 0!==e.spec.set_scope){var t=e.spec,n=$(""+t.container);if(0===n.length)return console.error("Scope '"+e.spec.scope+"' not found");var i=$("#"+t.set_scope);if(i.length){if("remove"!=t.if_exist)return"clear"==t.if_exist?void i.empty():void 0;i.remove()}var r='<div id="'+t.set_scope+'"></div>';0===t.position?n.prepend(r):-1===t.position?n.append(r):t.position>=0?$(t.container+" > *").eq(t.position).insertBefore(r):$(t.container+" > *").eq(t.position).insertAfter(r)}if(void 0!==e.spec.clear&&$(e.spec.clear).empty(),void 0!==e.spec.clear_before&&$(""+e.spec.clear_before).prevAll().remove(),void 0!==e.spec.clear_after&&$(e.spec.clear_after+" ~ *").remove(),void 0!==e.spec.scroll_to){var o=$(""+e.spec.scroll_to);o.length?a.body_scroll_to(o,e.spec.position):console.error("Scope "+e.spec.scroll_to+" not found")}if(void 0!==e.spec.clear_range&&$(""+e.spec.clear_range[0]).length&&$(""+e.spec.clear_range[1]).length){var s=[],l=!1;$(e.spec.clear_range[0]+" ~ *").each((function(){if(this.id===e.spec.clear_range[1])return l=!0,!1;s.push(this)})),l?$(s).remove():console.warn("clear_range not valid: can't find "+e.spec.clear_range[1]+" after "+e.spec.clear_range[0])}void 0!==e.spec.remove&&$(""+e.spec.remove).remove()}}]),e}();n.OutputHandler=u},{"../models/output":22,"../state":25,"../utils":27}],7:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../models/pin"),a=e("../state"),o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["pin_value","pin_update","pin_wait","pin_onchange"],this.session=t}return i(e,[{key:"handle_message",value:function(e){if("pin_value"===e.command){var t=r.GetPinValue(e.spec.name),n=void 0===t?null:{value:t};a.state.CurrentSession.send_message({event:"js_yield",task_id:e.task_id,data:n})}else if("pin_update"===e.command)r.PinUpdate(e.spec.name,e.spec.attributes);else if("pin_wait"===e.command){var i=r.WaitChange(e.spec.names,e.spec.timeout);Promise.resolve(i).then((function(t){a.state.CurrentSession.send_message({event:"js_yield",task_id:e.task_id,data:t})})).catch((function(t){console.error("error in `pin_wait`: %s",t),a.state.CurrentSession.send_message({event:"js_yield",task_id:e.task_id,data:null})}))}else"pin_onchange"===e.command&&r.PinChangeCallback(e.spec.name,e.spec.callback_id,e.spec.clear)}}]),e}();n.PinHandler=o},{"../models/pin":23,"../state":25}],8:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../models/output"),a=e("./output"),o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["popup","close_popup"],this.body=$("body"),this.session=t}return i(e,[{key:"handle_message",value:function(t){if(e.current_elem&&(e.current_elem.modal("hide"),e.current_elem=null),"popup"==t.command){$(".modal").modal("hide");var n=e.get_element(t.spec);this.body.append(n),a.trigger_output_widget_show_event(),n.on("hidden.bs.modal",(function(e){n.remove()})),n.on("shown.bs.modal",(function(t){n==e.current_elem&&e.current_elem||n.modal("hide")})),n.modal("show"),e.current_elem=n}else"close_popup"==t.command&&($(".modal").modal("hide"),e.current_elem=null)}}],[{key:"get_element",value:function(e){return e.closable||(e.implicit_close=!1),r.render_tpl('<div class="modal fade" {{^implicit_close}}data-backdrop="static"{{/implicit_close}} aria-labelledby="model-id-{{ dom_id }}" tabindex="-1" role="dialog" aria-hidden="true">\n <div class="modal-dialog {{#large}}modal-lg{{/large}} {{#small}}modal-sm{{/small}}" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <h5 class="modal-title" id="model-id-{{ mid }}">{{ title }}</h5>\n {{#closable}}\n <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n <span aria-hidden="true">&times;</span>\n </button>\n {{/closable}}\n </div>\n <div class="modal-body markdown-body" id="{{ dom_id }}">\n {{#content}}\n {{& pywebio_output_parse}}\n {{/content}}\n </div>\n </div>\n </div>\n </div>',Object.assign(Object.assign({},e),{large:"large"==e.size,small:"small"==e.size}))}}]),e}();n.PopupHandler=o,o.current_elem=null},{"../models/output":22,"./output":6}],9:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../state"),a=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["run_script"],this.session=t}return i(e,[{key:"handle_message",value:function(e){var t=e.spec.code,n=e.spec.args,i=[],a=[];for(var o in n)i.push(o),a.push(n[o]);var s=null;t="return eval("+JSON.stringify(t)+")";try{s=(new(Function.prototype.bind.apply(Function,[null].concat(i,[t])))).apply(void 0,a)}catch(e){console.log("Exception occurred in user code of `run_script` command: \n%s",e)}e.spec.eval&&Promise.resolve(s).then((function(t){r.state.CurrentSession.send_message({event:"js_yield",task_id:e.task_id,data:void 0===t?null:t})})).catch((function(t){console.log("Exception occurred in user code of `run_script` command: \n%s",t),r.state.CurrentSession.send_message({event:"js_yield",task_id:e.task_id,data:null})}))}}]),e}();n.ScriptHandler=a},{"../state":25}],10:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("../state"),a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.accept_command=["toast"]}return i(e,[{key:"handle_message",value:function(e){var t=e.spec,n=Toastify({text:Mustache.escape(t.content),duration:0===t.duration?-1:t.duration,close:0===t.duration,gravity:"top",position:t.position,backgroundColor:t.color,stopOnFocus:!0,onClick:function(){if(t.callback_id){if(null===r.state.CurrentSession)return console.error("Error: WebIOController is not instantiated");r.state.CurrentSession.send_message({event:"callback",task_id:t.callback_id,data:null}),n.hideToast()}}});n.showToast()}}]),e}();n.ToastHandler=a},{"../state":25}],11:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=(navigator.language||navigator.userLanguage||"en").toLowerCase(),r=i.split("-")[0];n.customMessage={};var a={en:{disconnected_with_server:"Disconnected from the server, please refresh the page",connect_fail:"Failed to connect to server!",error_in_input:"There is an error with the input, please fix the error first",file_size_exceed:'File "%1" size exceeds limit: the size of a single file must not exceed %2',file_total_size_exceed:"The total file size exceeds the limit: the total file size must not exceed %1",submit:"Submit",reset:"Reset",cancel:"Cancel",duplicated_pin_name:"This pin widget has expired (due to the output of a new pin widget with the same name).",browse_file:"Browse",duplicated_scope_name:"Error: The name of this scope is duplicated with the previous one!"},zh:{disconnected_with_server:"与服务器连接已断开,请刷新页面重新操作",connect_fail:"连接服务器失败!",error_in_input:"输入项存在错误,请消除错误后再提交",file_size_exceed:'文件"%1"大小超过限制: 单个文件大小不超过%2',file_total_size_exceed:"文件总大小超过限制: 文件总大小不超过%1",submit:"提交",reset:"重置",cancel:"取消",duplicated_pin_name:"该 Pin widget 已失效(由于输出了新的同名 pin widget",browse_file:"浏览文件",duplicated_scope_name:"错误: 此scope与已有scope重复!"},ru:{disconnected_with_server:"Соединение с сервером потеряно, пожалуйста перезагрузите страницу",connect_fail:"Ошибка подключения к серверу!",error_in_input:"Пожалуйста, сначала исправьте ошибку",file_size_exceed:'Файл "%1" весит слишком много: максимально допустимый размер файла - %2',file_total_size_exceed:"Общий размер файлов превышен: максимально допустимый объем - %1",submit:"Отправить",reset:"Сброс",cancel:"Отмена",duplicated_pin_name:"Этот закреп виджет устарел (виджет с таким же именем был выведен).",browse_file:"Обзор"},de:{disconnected_with_server:"Verbindung zum Server unterbrochen. Bitte laden Sie die Seite neu.",connect_fail:"Verbindung zum Server nicht möglich!",error_in_input:"Die Eingabe ist fehlerhaft. Bitte beheben Sie zuerst den Fehler.",file_size_exceed:'Die Größe der Datei "%1" überschreitet das zulässige Maximum: eine einzelne Datei darf nicht größer sein als %2.',file_total_size_exceed:"Die Gesamtdateigröße überschreitet das zulässige Maximum: alle Dateien zusammen dürfen nicht größer sein als %1.",submit:"Übermitteln",reset:"Zurücksetzen",cancel:"Abbrechen",duplicated_pin_name:"Dieses Pin-Widget ist nicht mehr gültig (Grund: Der Output enthält ein neues Pin-Widget mit dem gleichen Namen).",browse_file:"Durchsuchen",duplicated_scope_name:"Fehler: Der Name dieses Scopes ist mit dem vorhergehenden identisch!"},fa:{disconnected_with_server:"اتصال به سرور قطع شده است، لطفا صفحه را رفرش کنید",connect_fail:"ناموفق در اتصال به سرور!",error_in_input:"یک خطا با ورودی وجود دارد، لطفا ابتدا خطا را برطرف کنید",file_size_exceed:'اندازه فایل "%1" از حد مجاز بیشتر است: اندازه یک فایل تکی نباید از %2 بیشتر باشد',file_total_size_exceed:"اندازه کلی فایل از حد مجاز بیشتر است: اندازه کلی فایل نباید از %1 بیشتر باشد",submit:"ارسال",reset:"بازنشانی",cancel:"لغو",duplicated_pin_name:"این Pin Widget منقضی شده است (به دلیل خروجی یک Pin Widget جدید با نام یکسان)",browse_file:"مرور",duplicated_scope_name:"خطا: نام این Scope با نام قبلی تکراری است!"}};function o(e){var t=arguments;return e.replace(/%%/g,"%% ").replace(/%(\d+)/g,(function(e,n){return t[n]})).replace(/%% /g,"%")}a.custom=n.customMessage,n.t=function(e){for(var t=null,n=["custom",i,r,"en"],s=0;s<n.length;s++){var l=n[s];if(a[l]&&a[l][e]){t=a[l][e];break}}if(null===t)throw Error('No translation for "'+e+'" in "'+i+'"');for(var c=arguments.length,u=Array(c>1?c-1:0),p=1;p<c;p++)u[p-1]=arguments[p];return o.apply(null,[t].concat(u))}},{}],12:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("./state"),r=e("./session"),a=e("./handlers/input"),o=e("./handlers/output"),s=e("./handlers/base"),l=e("./handlers/popup"),c=e("./utils"),u=e("./handlers/script"),p=e("./handlers/download"),d=e("./handlers/toast"),f=e("./handlers/env"),h=e("./handlers/pin"),_=e("./i18n");window.WebIO={_state:i.state,startWebIOClient:function(e){for(var t in e.runtime_config)i.config[t]=e.runtime_config[t];var n,c=(n=e.backend_address,new URL(n,window.location.href).href),_=function(t){var n=void 0;(function(e,t,n){i.state.CurrentSession=e,$("#pywebio-loading").show(),e.on_session_create((function(){$("#pywebio-loading").hide(),$("#favicon32").attr("href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAwklEQVQ4T63TvU5CQRCG4WcwMfEuqOgNtQ2Nd4CxV2LHtVhJ0N7AHdjQUBtrrLwLA4ks2Rx+/Qucw3Y78807M7sz4ft5dq6mI7RQX7o/JCNzfdfetkNifRk6k9wLN9jYdxMkyZPQ1faZXYUwB/OCix8V/W4Y4zJDCsBAX7jdM7iQJY+udELu+cTrP2X/xU2+NMPAg3B3UPaVOOmFoQkapQC8Z8AUpyUBs6MAKrZQ+RErf2PlQTrKKK8gpZdpewgOXOcFTTxEjYwMoIkAAAAASUVORK5CYII="),$("#favicon16").attr("href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABmUlEQVRYR82XK0wDQRCGv21TUUUJGBwGDBggGCSGBIcAWnBAgsNAgkKhSMDgCA8HtEXgSDBIDC9DDRgcpoSiKo52yea49DiutMttsz27M/98N7s7OyNo9tujgxSTwDiCIaAXSH27l4AXJA/AFSUuWOajGWnR0ChLP3HWkWSAZEN716CM4JQKW6R5+sunPkCeJJJNBCtAosnAQTMHyS6CDWYoh2mEAxzTR4JzYOCfgYNuBRymmOc5uPAbIMswMS6BbkPBPZkiVSZIc+/X/Qng/vl1C4LXIBzG/JmoAag9hxuDaa+XwAIw6p2JGkCObQSrhtMeLifZYZY1tegCqKsW4zHCadfldqgyqK6oC3DGIZIFXZVI9oIjplkUqArXyatGkYkU1+dc5p0eQY4MghNTqlo6kjkFsI9gScvRlLHkQJDnFhgxpampc6cAikCXpqMp8zcF8AnETSlq6lTaAsD6Flg+hNavofVCZL0UW3+M2uI5VhBWGxIFYL0lUxBWm1KviFttyz0Iq4OJB2F1NPO/qdaG0+DD3qLx/AuMVJFhmC8dSgAAAABJRU5ErkJggg==")})),e.on_session_close((function(){$("#favicon32").attr("href","data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAByElEQVRYR82XLUzDUBDH/9emYoouYHAYMGCAYJAYEhxiW2EOSOYwkKBQKBIwuIUPN2g7gSPBIDF8GWbA4DAjG2qitEfesi6lbGxlXd5q393/fr333t07QpdfPp8f0nV9CcACEU0DGAOgN9yrAN6Y+QnATbVavcrlcp/dSFMnI9M0J1RV3WHmFQCJTvaN9RoRXbiuu28YxstfPm0BbNtOMPMeEW0C0LoMHDZzmPmIiHbT6XStlUZLgEKhMK5p2iWAyX8GDruVHMdZzmazr+GFXwCmac4oinINYCSm4L5M2fO8RcMwHoO6PwAaf37bh+BNCMdx5oOZaAKIPQdwF2Pa2yWwBGDOPxNNAMuyDohoK+a0t5Rj5sNMJrMtFusA4qopivLcw2mPyu14njclrmgdoFgsnjLzWlSVXuyJ6CyVSq2TqHDJZPI9QpHpJW7Qt1apVEbJsqwVIjqPSzWKDjOvCoBjItqI4hiXLTOfkG3b9wBm4xKNqPMgAMoAhiM6xmX+IQC+AKhxKUbUcQcCQPoWyD2E0q+h9EIkvRRLb0YD0Y4FhNQHiQCQ/iQTEFIfpX4Nl/os9yGkDiY+hNTRLNhSpQ2n4b7er/H8G7N6BRSbHvW5AAAAAElFTkSuQmCC"),$("#favicon16").attr("href","data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA0ElEQVQ4T62TPQrCQBCF30tA8BZW9mJtY+MNEtKr2HkWK0Xtw+4NbGysxVorbyEKyZMNRiSgmJ/tZufNNzO7M0ThxHHc8zxvSnIIoPNyXyXt0zRdR1F0+gxhblhr25IWJMcA3vcFviRtSc6DILg5XyZ0wQB2AAbFir7YBwAjB8kAxpg1ycmfwZlM0iYMwyldz77vH3+U/Y2rJEn6NMYsSc7KZM+1kla01p4BdKsAAFwc4A6gVRHwaARQr4Xaj1j7G2sPUiOjnEMqL9PnDJRd5ycpJXsd2f2NIAAAAABJRU5ErkJggg==")}));var r=new o.OutputHandler(e,t),c=new a.InputHandler(e,n),_=new l.PopupHandler(e),m=new s.SessionCtrlHandler(e),v=new u.ScriptHandler(e),g=new h.PinHandler(e),b=new p.DownloadHandler,y=new d.ToastHandler,k=new f.EnvSettingHandler,w=new s.CommandDispatcher(r,c,_,m,v,b,y,k,g);e.on_server_message((function(e){try{w.dispatch_message(e)||console.error("Unknown command:%s",e.command)}catch(t){console.error("Error(%s) in dispatch command: %s",t,e.command)}}))})(n=t?new r.HttpSession(c,e.app_name,i.config.httpPullInterval):new r.WebSocketSession(c,e.app_name),e.output_container_elem,e.input_container_elem),n.start_session(i.config.debug)};"auto"==e.protocol?r.is_http_backend(c).then(_):_("http"==e.protocol)},openApp:c.openApp,message_tpl:_.customMessage,pushData:r.pushData}},{"./handlers/base":2,"./handlers/download":3,"./handlers/env":4,"./handlers/input":5,"./handlers/output":6,"./handlers/pin":7,"./handlers/popup":8,"./handlers/script":9,"./handlers/toast":10,"./i18n":11,"./session":24,"./state":25,"./utils":27}],13:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../state"),o=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.submit_value=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=!0,t=!1,n=void 0;try{for(var i,r=this.spec.buttons[Symbol.iterator]();!(e=(i=r.next()).done);e=!0){var o=i.value;o.btn_type="submit"===o.type?"submit":"button"}}catch(e){t=!0,n=e}finally{try{!e&&r.return&&r.return()}finally{if(t)throw n}}this.spec.color="primary";var s=Mustache.render('\n<div class="form-group">\n {{#label}}<label>{{label}}</label> <br> {{/label}} \n {{#buttons}}\n <button type="{{btn_type}}" data-type="{{type}}" aria-describedby="{{name}}_help" {{#disabled}}disabled data-pywebio-disabled{{/disabled}} class="btn btn-{{color}}">{{label}}</button>\n {{/buttons}}\n <div class="invalid-feedback">{{invalid_feedback}}</div> \x3c!-- input 添加 is-invalid 类 --\x3e\n <div class="valid-feedback">{{valid_feedback}}</div> \x3c!-- input 添加 is-valid 类 --\x3e\n <small id="{{name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',this.spec);this.element=$(s);for(var l=this.element.find("button"),c=0;c<this.spec.buttons.length;c++)l.eq(c).val(JSON.stringify(this.spec.buttons[c].value));var u=this;return this.element.find("button").on("click",(function(e){var t=$(this);"submit"===t.data("type")?(u.submit_value=JSON.parse(t.val()),u.spec.onchange&&u.on_input_event("change",u)):"reset"===t.data("type")?t.parents("form").trigger("reset"):"cancel"===t.data("type")?a.state.CurrentSession.send_message({event:"from_cancel",task_id:u.task_id,data:null}):console.error("`actions` input: unknown button type '%s'",t.data("type"))})),this.element}},{key:"update_input",value:function(e){var t=e.attributes,n=-1;"target_value"in e&&this.element.find("button").each((function(t){if(JSON.parse($(this).val())===e.target_value)return n=t,!1})),this.update_input_helper(n,t)}},{key:"get_value",value:function(){return this.submit_value}}]),t}(r.InputItem);n.Actions=o,o.accept_input_types=["actions"]},{"../../state":25,"./base":14}],14:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=null,this.spec=t,this.task_id=n,this.on_input_event=i}return i(e,[{key:"create_element",value:function(){throw new Error("Not implement!")}},{key:"update_input",value:function(e){throw new Error("Not implement!")}},{key:"get_value",value:function(){throw new Error("Not implement!")}},{key:"check_valid",value:function(){return!0}},{key:"after_add_to_dom",value:function(){}},{key:"after_show",value:function(e){}},{key:"update_input_helper",value:function(e,t){var n={invalid_feedback:"div.invalid-feedback",valid_feedback:"div.valid-feedback",help_text:"small.text-muted",label:">label"};for(var i in n)i in t&&(this.element.find(n[i]).text(t[i]),delete t[i]);var r=this.element.find("input,select,textarea");if(e>=0&&(r=r.eq(e)),"valid_status"in t){var a=t.valid_status?"is-valid":"is-invalid";0===t.valid_status&&(a=""),r.removeClass("is-valid is-invalid").addClass(a),delete t.valid_status}r.prop(t)}}]),e}();n.InputItem=r,r.accept_input_types=[]},{}],15:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o='\n{{#options}}\n<div class="form-check {{#inline}}form-check-inline{{/inline}}">\n <label class="form-check-label" for="{{id_name_prefix}}-{{idx}}">\n <input type="{{type}}" id="{{id_name_prefix}}-{{idx}}" name="{{name}}" {{#selected}}checked{{/selected}} {{#disabled}}disabled{{/disabled}} class="form-check-input">\n {{label}}\n </label>\n</div>\n{{/options}}\n',s=function(e){function t(e,n,i){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this.setup_spec(),t=Mustache.render('\n<div class="form-group">\n {{#label}}<label>{{label}}</label>{{#inline}}<br>{{/inline}} {{/label}}\n \n{{#options}}\n<div class="form-check {{#inline}}form-check-inline{{/inline}}">\n <label class="form-check-label" for="{{id_name_prefix}}-{{idx}}">\n <input type="{{type}}" id="{{id_name_prefix}}-{{idx}}" name="{{name}}" {{#selected}}checked{{/selected}} {{#disabled}}disabled{{/disabled}} class="form-check-input">\n {{label}}\n </label>\n</div>\n{{/options}}\n\n <div class="invalid-feedback">{{invalid_feedback}}</div> \n <div class="valid-feedback">{{valid_feedback}}</div>\n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',e),n=$(t);return this.setup_input_options(n,e.options),this.element=n,this.element}},{key:"setup_spec",value:function(){var e=a.deep_copy(this.spec),t=e.name+"-"+Math.floor(Math.random()*Math.floor(9999));for(var n in e.id_name_prefix=t,e.options)e.options[n].idx=n;return e}},{key:"setup_input_options",value:function(e,t){for(var n=this,i=e.find("input"),r=0;r<t.length;r++){var a=i.eq(r);for(var o in this.spec.onblur&&a.on("blur",(function(e){n.on_input_event("blur",n)})),this.spec.onchange&&a.on("change",(function(e){n.on_input_event("change",n)})),a.val(JSON.stringify(t[r].value)),t[r])o in{value:"",label:"",selected:""}||a.attr(o,t[r][o])}}},{key:"update_input",value:function(e){var t=e.attributes,n=-1;if("target_value"in e&&this.element.find("input").each((function(t){if(JSON.parse($(this).val())===e.target_value)return n=t,!1})),"value"in t){this.element.find("input:checked").prop("checked",!1);var i=t.value;"radio"===this.spec.type&&(i=[t.value]),this.element.find("input").each((function(e){var t=JSON.parse($(this).val());-1!=i.indexOf(t)&&$(this).prop("checked",!0)})),delete t.value}if("options"in t){this.spec.options=t.options;var r=this.setup_spec(),a=Mustache.render(o,r);this.element.find(".form-check").remove(),this.element.find(".invalid-feedback").before(a),this.setup_input_options(this.element,r.options),delete t.options}"valid_status"in t&&(this.element.find(".invalid-feedback,.valid-feedback").hide(),!0===t.valid_status?this.element.find(".valid-feedback").show():!1===t.valid_status&&this.element.find(".invalid-feedback").show()),this.update_input_helper(n,t)}},{key:"get_value",value:function(){if("radio"===this.spec.type){var e=this.element.find("input:checked").val()||"null";return JSON.parse(e)}var t=this.element.find("input").serializeArray(),n=[],i=this;return $.each(t,(function(e,t){t.name===i.spec.name&&n.push(JSON.parse(t.value))})),n}}]),t}(r.InputItem);n.CheckboxRadio=s,s.accept_input_types=["checkbox","radio"]},{"../../utils":27,"./base":14}],16:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o=e("../../i18n"),s=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.files=[],r.valid=!0,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=a.deep_copy(this.spec),t=e.name+"-"+Math.floor(Math.random()*Math.floor(9999));e.id_name=t;var n=Mustache.render('\n<div class="form-group">\n {{#label}}<label for="{{id_name}}">{{label}}</label>{{/label}}\n <div class="custom-file">\n <input type="file" name="{{name}}" class="custom-file-input" id="{{id_name}}" aria-describedby="{{id_name}}_help">\n <label class="custom-file-label" for="{{id_name}}" data-browse="{{browse_file}}"><span>{{placeholder}}</span></label>\n <div class="invalid-feedback">{{invalid_feedback}}</div> \x3c!-- input 添加 is-invalid 类 --\x3e\n <div class="valid-feedback">{{valid_feedback}}</div> \x3c!-- input 添加 is-valid 类 --\x3e\n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n </div>\n</div>',Object.assign(Object.assign({},e),{browse_file:o.t("browse_file")}));this.element=$(n);var i=this.element.find('input[type="file"]'),r={label:"",invalid_feedback:"",valid_feedback:"",help_text:"",placeholder:""};for(var s in this.spec)s in r||i.attr(s,this.spec[s]);var l=this;return i.on("change",(function(){l.files=[];var t=0;l.valid=!0;var n=i[0].files,r=!0,s=!1,c=void 0;try{for(var u,p=n[Symbol.iterator]();!(r=(u=p.next()).done);r=!0){var d=u.value;if(t+=d.size,l.spec.max_size&&d.size>l.spec.max_size)l.valid=!1,l.update_input_helper(-1,{valid_status:!1,invalid_feedback:o.t("file_size_exceed",d.name,l._formate_size(l.spec.max_size))});else if(l.spec.max_total_size&&t>l.spec.max_total_size)return l.valid=!1,void l.update_input_helper(-1,{valid_status:!1,invalid_feedback:o.t("file_total_size_exceed",l._formate_size(l.spec.max_total_size))});if(!l.valid)return;l.update_input_helper(-1,{valid_status:0}),l.files.push(a.serialize_file(d,e.name))}}catch(e){s=!0,c=e}finally{try{!r&&p.return&&p.return()}finally{if(s)throw c}}})),this.element}},{key:"_formate_size",value:function(e){for(var t=["Byte","Kb","Mb"],n=0;n<t.length;n++){var i=t[n];if(e/1024<1)return e.toFixed(2)+i;e/=1024}return e.toFixed(2)+"Gb"}},{key:"update_input",value:function(e){var t=e.attributes;this.update_input_helper(-1,t)}},{key:"check_valid",value:function(){return this.valid}},{key:"get_value",value:function(){return this.files}},{key:"after_add_to_dom",value:function(){bsCustomFileInput.init()}}]),t}(r.InputItem);n.File=s,s.accept_input_types=["file"]},{"../../i18n":11,"../../utils":27,"./base":14}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("./input"),r=e("./actions"),a=e("./checkbox_radio"),o=e("./textarea"),s=e("./file"),l=e("./select"),c=e("./slider");n.all_input_items=[i.Input,r.Actions,a.CheckboxRadio,o.Textarea,s.File,l.Select,c.Slider],n.get_input_item_from_type=function(e){return u[e]};var u={},p=!0,d=!1,f=void 0;try{for(var h,_=n.all_input_items[Symbol.iterator]();!(p=(h=_.next()).done);p=!0){var m=h.value,v=!0,g=!1,b=void 0;try{for(var y,k=m.accept_input_types[Symbol.iterator]();!(v=(y=k.next()).done);v=!0){var w=y.value;u[w]=m}}catch(e){g=!0,b=e}finally{try{!v&&k.return&&k.return()}finally{if(g)throw b}}}}catch(e){d=!0,f=e}finally{try{!p&&_.return&&_.return()}finally{if(d)throw f}}},{"./actions":13,"./checkbox_radio":15,"./file":16,"./input":18,"./select":19,"./slider":20,"./textarea":21}],18:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o=e("../../state"),s="\n{{#datalist}} \n<option>{{.}}</option> \n{{/datalist}}",l=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.previous_value="",r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,t=a.deep_copy(this.spec),n=t.name+"-"+Math.floor(Math.random()*Math.floor(9999));t.id_name=n,"float"==t.type&&(t.type="text");var i=Mustache.render('\n<div class="form-group">\n {{#label}}<label for="{{id_name}}">{{label}}</label>{{/label}}\n {{#action}}<div class="input-group">{{/action}} \n <input type="{{type}}" id="{{id_name}}" aria-describedby="{{id_name}}_action_btn" {{#datalist}}list="{{id_name}}-list"{{/datalist}} class="form-control" >\n <datalist id="{{id_name}}-list">\n \n{{#datalist}} \n<option>{{.}}</option> \n{{/datalist}}\n </datalist>\n {{#action}} \n <div class="input-group-append">\n <button class="btn btn-outline-secondary single-input-action-btn" type="button" id="{{id_name}}_action_btn" data-callbackid="{{callback_id}}">{{label}}</button>\n </div>\n {{/action}} \n <div class="invalid-feedback">{{invalid_feedback}}</div>\n <div class="valid-feedback">{{valid_feedback}}</div>\n {{#action}}</div>{{/action}} \n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',t);this.element=$(i),this.element.find("#"+n+"_action_btn").on("click",(function(e){var t=$(this);o.state.CurrentSession.send_message({event:"callback",task_id:t.data("callbackid"),data:null})}));var r=this.element.find("input");t.onblur&&r.on("blur",(function(t){e.get_value()&&e.on_input_event("blur",e)})),r.on("input",(function(n){e.rectify_input(),t.onchange&&e.on_input_event("change",e)}));var s=a.make_set(["action","type","label","invalid_feedback","valid_feedback","help_text","options","datalist","multiple","onchange","onblur"]);for(var l in this.spec)l in s||r.attr(l,this.spec[l]);return this.element}},{key:"rectify_input",value:function(){var e=""+this.element.find("input").val(),t=void 0;"number"==this.spec.type?t=/^[+-]?\d*$/:"float"==this.spec.type&&(t=/^[+-]?\d*\.?\d*$/),t&&!t.test(e)?this.element.find("input").val(this.previous_value):this.previous_value=e}},{key:"check_valid",value:function(){var e=!Number.isNaN(this.get_value())||""===this.element.find("input").val();return e?this.update_input_helper(-1,{valid_status:0}):this.update_input_helper(-1,{valid_status:!1}),e}},{key:"update_input",value:function(e){var t=e.attributes;if("datalist"in t){var n=Mustache.render(s,{datalist:t.datalist});this.element.find("datalist").empty().append(n),delete t.datalist}this.update_input_helper(-1,t)}},{key:"get_value",value:function(){this.rectify_input();var e=this.element.find("input").val();return"number"==this.spec.type?e=parseInt(e):"float"==this.spec.type&&(e=parseFloat(e)),e}}]),t}(r.InputItem);n.Input=l,l.accept_input_types=["text","password","number","float","color","date","range","time","email","url"]},{"../../state":25,"../../utils":27,"./base":14}],19:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o="\n{{#options}}\n<option {{#selected}}selected{{/selected}} {{#disabled}}disabled{{/disabled}}>{{label}}</option>\n{{/options}}\n";$.fn.selectpicker.Constructor.BootstrapVersion="4";var s=function(e){function t(e,n,i){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,t=a.deep_copy(this.spec),n=t.name+"-"+Math.floor(Math.random()*Math.floor(9999));t.id_name=n;var i=Mustache.render('\n<div class="form-group">\n {{#label}}<label for="{{id_name}}">{{label}}</label>{{/label}}\n <select id="{{id_name}}" aria-describedby="{{id_name}}_help" class="form-control" {{#multiple}}multiple{{/multiple}}>\n \n{{#options}}\n<option {{#selected}}selected{{/selected}} {{#disabled}}disabled{{/disabled}}>{{label}}</option>\n{{/options}}\n\n </select>\n <div class="invalid-feedback">{{invalid_feedback}}</div>\n <div class="valid-feedback">{{valid_feedback}}</div>\n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',t);return this.element=$(i),this.setup_select_options(this.element,t.options),this.element.find("select").selectpicker(),t.onblur&&this.element.find("select").on("blur",(function(t){e.on_input_event("blur",e)})),t.onchange&&this.element.find("select").on("change",(function(t){e.on_input_event("change",e)})),this.element}},{key:"setup_select_options",value:function(e,t){for(var n=e.find("select"),i=n.find("option"),r=0;r<t.length;r++)i.eq(r).val(JSON.stringify(t[r].value));var o=a.make_set(["type","label","invalid_feedback","valid_feedback","help_text","options","datalist","multiple","onchange","onblur"]);for(var s in this.spec)s in o||n.attr(s,this.spec[s]);n.selectpicker("refresh")}},{key:"update_input",value:function(e){var t=e.attributes;if("options"in t){var n=Mustache.render(o,{options:t.options});this.element.find("select").empty().append(n),this.setup_select_options(this.element,t.options),delete t.options}if("value"in t){this.element.find("option").prop("selected",!1);var i=t.value;this.spec.multiple||(i=[t.value]),this.element.find("option").each((function(e){var t=JSON.parse($(this).val());-1!=i.indexOf(t)&&$(this).prop("selected",!0)})),this.element.find("select").selectpicker("render"),delete t.value}this.update_input_helper(-1,t)}},{key:"get_value",value:function(){var e=this.element.find("select").val();if(this.spec.multiple){var t=[],n=!0,i=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;t.push(JSON.parse(s))}}catch(e){i=!0,r=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}return t}return JSON.parse(e)}}]),t}(r.InputItem);n.Select=s,s.accept_input_types=["select"]},{"../../utils":27,"./base":14}],20:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.files=[],r.valid=!0,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,t=a.deep_copy(this.spec);t.id_name=t.name+"-"+Math.floor(Math.random()*Math.floor(9999));var n=Mustache.render('\n<div class="form-group">\n {{#label}}<label for="{{id_name}}">{{label}}</label>{{/label}}\n <input type="range" class="form-control-range" name="{{name}}" min="{{min_value}}" max="{{max_value}}" value="{{value}}" id="{{id_name}}" step="{{step}}">\n <small class="form-control-range-value"></small>\n <div class="invalid-feedback">{{invalid_feedback}}</div>\n <div class="valid-feedback">{{valid_feedback}}</div>\n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',t);this.element=$(n);var i=this.element.find('input[type="range"]'),r=a.make_set(["value","step","type","label","invalid_feedback","valid_feedback","help_text","min_value","max_value","id_name","name","float","onchange","onblur"]);for(var o in this.spec)o in r||i.attr(o,this.spec[o]);var s=this.element.find(".form-control-range-value");return s.text(this.spec.float?this.get_value().toFixed(2):this.get_value()),i.on("input",(function(t){s.text(e.spec.float?e.get_value().toFixed(2):e.get_value())})),t.onblur&&i.on("blur",(function(t){e.on_input_event("blur",e)})),t.onchange&&i.on("change",(function(t){e.on_input_event("change",e)})),this.element}},{key:"update_input",value:function(e){var t=e.attributes;"value"in t&&this.element.find(".form-control-range-value").text(this.spec.float?this.get_value().toFixed(2):t.value);this.update_input_helper(-1,t)}},{key:"get_value",value:function(){var e=this.element.find('input[type="range"]').val();return e=this.spec.float?parseFloat(e):parseInt(e)}}]),t}(r.InputItem);n.Slider=o,o.accept_input_types=["slider"]},{"../../utils":27,"./base":14}],21:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=e("./base"),a=e("../../utils"),o=e("../../state"),s=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.code_mirror=null,r.code_mirror_config={lineNumbers:!0,indentUnit:4,styleActiveLine:!0,matchBrackets:!0,lineWrapping:!0,autoRefresh:!0,extraKeys:{F11:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))}}},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,n=a.deep_copy(this.spec);n.id_name=n.name+"-"+Math.floor(Math.random()*Math.floor(9999));var i=Mustache.render('\n<div class="form-group">\n {{#label}}<label for="{{id_name}}">{{label}}</label>{{/label}}\n <textarea id="{{id_name}}" aria-describedby="{{id_name}}_help" rows="{{rows}}" class="form-control" >{{value}}</textarea>\n <div class="invalid-feedback">{{invalid_feedback}}</div> \x3c!-- input 添加 is-invalid 类 --\x3e\n <div class="valid-feedback">{{valid_feedback}}</div> \x3c!-- input 添加 is-valid 类 --\x3e\n <small id="{{id_name}}_help" class="form-text text-muted">{{help_text}}</small>\n</div>',n);this.element=$(i);var r=this.element.find("textarea");n.onchange&&r.on("input",(function(t){e.on_input_event("change",e)}));var s=a.make_set(["value","type","label","invalid_feedback","valid_feedback","help_text","rows","code","onchange"]);for(var l in this.spec)l in s||r.attr(l,this.spec[l]);if(n.code){for(var c in!0===n.code&&(n.code={mode:"text/plain"}),CodeMirror.modeURL=o.config.codeMirrorModeURL,this.spec.code)this.code_mirror_config[c]=this.spec.code[c];var u=n.code.mode||"text/plain",p=CodeMirror.findModeByExtension(u)||CodeMirror.findModeByMIME(u);p&&(this.code_mirror_config.mode=p.mode),(this.spec.readonly||this.spec.disabled)&&(this.code_mirror_config.readOnly="nocursor"),this.code_mirror_config.theme&&"base16-light"!==this.code_mirror_config.theme&&t.load_codemirror_theme(this.code_mirror_config.theme)}return this.element}},{key:"update_input",value:function(e){var t=e.attributes;this.code_mirror&&"value"in t&&(this.code_mirror.setValue(t.value),delete t.value),this.update_input_helper.call(this,-1,t)}},{key:"get_value",value:function(){return this.code_mirror?this.code_mirror.getValue():this.element.find("textarea").val()}},{key:"after_show",value:function(e){var t=this;if(e&&this.spec.code){if(this.code_mirror=CodeMirror.fromTextArea(this.element.find("textarea")[0],this.code_mirror_config),CodeMirror.autoLoadMode)try{CodeMirror.autoLoadMode(this.code_mirror,this.code_mirror_config.mode)}catch(e){console.error("CodeMirror load mode `%s` error: %s",this.code_mirror_config.mode,e)}this.spec.onchange&&this.code_mirror.on("change",(function(e,n){t.on_input_event("change",t)})),this.code_mirror.setSize(null,20*this.spec.rows)}}}],[{key:"load_codemirror_theme",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.config.codeMirrorThemeURL,n="codemirror_theme_"+e;if(!document.getElementById(n)){var i=document.getElementsByTagName("head")[0],r=document.createElement("link");r.id=n,r.rel="stylesheet",r.type="text/css",r.href=t.replace("%N",e),r.media="all",i.appendChild(r)}}}]),t}(r.InputItem);n.Textarea=s,s.accept_input_types=["textarea"]},{"../../state":25,"../../utils":27,"./base":14}],22:[function(e,t,n){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils"),a=e("marked"),o=e("../session"),s=e("./pin"),l=e("../i18n"),c=e("../handlers/output"),u={handle_type:"text",get_element:function(e){var t=e.inline?$("<span></span>"):$("<p></p>");return t.attr("style","white-space: pre-wrap;"),t.append(document.createTextNode(e.content)),t}};function p(e){var t=$.parseHTML(e.trim(),null,!0);return 1!=t.length?$(document.createElement("div")).append(t):$(t[0])}a.setOptions({breaks:!0,smartLists:!0,smartypants:!1,mangle:!1,highlight:function(e,t,n){if(Prism.languages[t])try{e=Prism.highlight(e,Prism.languages[t])}catch(e){console.error("Prism highlight error:"+e)}return n?n(null,e):e}});var d={handle_type:"scrollable",get_element:function(e){var t=x('<div>\n<div class="webio-scrollable{{#border}} scrollable-border{{/border}}" {{#keep_bottom}}tabindex="0"{{/keep_bottom}} \n style="{{#min_height}}min-height: {{min_height}}px;{{/min_height}} {{#max_height}}max-height: {{max_height}}px;{{/max_height}}">\n {{#contents}}\n {{& pywebio_output_parse}}\n {{/contents}}\n</div>\n</div>',e),n=t.find("> div");if(e.keep_bottom){var i=!1;n.on("focusin mouseenter",(function(e){i=!0})).on("focusout mouseleave",(function(e){i=!1})),new MutationObserver((function(e,t){i||n.stop().animate({scrollTop:n.prop("scrollHeight")},200)})).observe(n[0],{childList:!0,subtree:!0})}return t}},f={handle_type:"scope",get_element:function(e){var t=x("<div>\n {{#contents}}\n {{& pywebio_output_parse}}\n {{/contents}}\n</div>",e);return c.AfterCurrentOutputWidgetShow((function(){if(0!==$("#"+e.dom_id).length){var n='<p style="color: grey; border:1px solid #ced4da; padding: .375rem .75rem;">'+l.t("duplicated_scope_name")+"</p>";t.empty().html(n)}else t.attr("id",e.dom_id)})),t}},h=[u,{handle_type:"markdown",get_element:function(e){var t=a(e.content,e.options);if(e.sanitize)try{t=DOMPurify.sanitize(t)}catch(e){console.log("Sanitize html failed: %s\nHTML: \n%s",e,t)}return $(t)}},{handle_type:"html",get_element:function(e){var t=e.content;if(e.sanitize)try{t=DOMPurify.sanitize(t)}catch(e){console.log("Sanitize html failed: %s\nHTML: \n%s",e,t)}return p(t)}},{handle_type:"buttons",get_element:function(e){if(e.color="primary",e.link){e.outline=!1;var t=!0,n=!1,i=void 0;try{for(var r,a=e.buttons[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){r.value.color="link"}}catch(e){n=!0,i=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw i}}}for(var s=Mustache.render('<div{{#group}} class="btn-group" role="group"{{/group}}>{{#buttons}} \n <button class="btn {{#color}}btn-{{#outline}}outline-{{/outline}}{{color}}{{/color}}{{#small}} btn-sm{{/small}}" {{#disabled}}disabled{{/disabled}}>{{label}}</button> \n {{/buttons}}</div>',e),l=$(s),c=l.find("button"),u=function(t){c.eq(t).on("click",(function(n){o.pushData(e.buttons[t].value,e.callback_id)}))},p=0;p<e.buttons.length;p++)u(p);return l}},{handle_type:"file",get_element:function(e){var t='<div><button type="button" class="btn btn-link">'+e.name+"</button></div>",n=$(t),i=r.b64toBlob(e.content);return n.on("click","button",(function(t){saveAs(i,e.name,{},!1)})),n}},{handle_type:"table",get_element:function(e){var t=[];for(var n in e.data){t.push([]);var r=e.data[n];for(var a in r){var o=e.data[n][a];"object"!==(void 0===o?"undefined":i(o))&&(o={type:"text",content:o,inline:!0}),t[n].push(Object.assign({content:o},e.span[n+","+a]||{}))}}return x('\n<table>\n <tr>\n {{#header}} \n <th{{#col}} colspan="{{col}}"{{/col}}{{#row}} rowspan="{{row}}"{{/row}}>{{#content}}{{& pywebio_output_parse}}{{/content}}</th> \n {{/header}}\n </tr>\n {{#tdata}} \n <tr>\n {{# . }} \n <td{{#col}} colspan="{{col}}"{{/col}}{{#row}} rowspan="{{row}}"{{/row}}>{{#content}}{{& pywebio_output_parse}}{{/content}}</td> \n {{/ . }} \n </tr>\n {{/tdata}}\n \n</table>',{header:t[0],tdata:t.slice(1)})}},{handle_type:"custom_widget",get_element:function(e){return x(e.template,e.data)}},{handle_type:"tabs",get_element:function(e){e.tabs[0].checked=!0;for(var t=0;t<e.tabs.length;t++)e.tabs[t].index=t;return x('<div class="webio-tabs">\n{{#tabs}}\n <input type="radio" class="toggle" name="{{#uniqueid}}name{{/uniqueid}}" id="{{#uniqueid}}name{{/uniqueid}}{{index}}" {{#checked}}checked{{/checked}}>\n <label for="{{#uniqueid}}name{{/uniqueid}}{{index}}">{{title}}</label>\n <div class="webio-tabs-content">\n {{#content}}\n {{& pywebio_output_parse}}\n {{/content}}\n </div>\n{{/tabs}}\n</div>',e)}},s.PinWidget,f,d],_={},m=!0,v=!1,g=void 0;try{for(var b,y=h[Symbol.iterator]();!(m=(b=y.next()).done);m=!0){var k=b.value;_[k.handle_type]=k}}catch(e){v=!0,g=e}finally{try{!m&&y.return&&y.return()}finally{if(v)throw g}}function w(e){if(!(e.type in _))throw Error("Unknown type in getWidgetElement() :"+e.type);var t=_[e.type].get_element(e);if(1!=t.length&&(t=$(document.createElement("div")).append(t)),e.style){var n=t.attr("style")||"";t.attr({style:n+";"+e.style})}return e.click_callback_id&&(t.on("click",(function(t){o.pushData(null,e.click_callback_id)})),t.addClass("pywebio-clickable")),e.container_dom_id&&(e.container_selector?t.find(e.container_selector).attr("id",e.container_dom_id):t.attr("id",e.container_dom_id)),t}function x(e,t){var n={};t.pywebio_output_parse=function(){if(!this.type)return w({type:"text",content:this,inline:!0})[0].outerHTML;var e="ph-"+r.randomid(10);return n[e]=this,'<div id="'+e+'"></div>'};var i={};t.uniqueid=function(){return function(e){return e?(e in i||(i[e]="webio-"+r.randomid(10)),i[e]):"webio-"+r.randomid(10)}};var a=0;t.index=function(){return a+=1};var o=p(Mustache.render(e,t));for(var s in n){var l=n[s];try{var c=w(l);o.find("#"+s).replaceWith(c)}catch(e){console.error("Error when render widget: \n%s\nSPEC:%s",e,JSON.stringify(l))}}return o}n.getWidgetElement=w,n.render_tpl=x},{"../handlers/output":6,"../i18n":11,"../session":24,"../utils":27,"./pin":23,marked:1}],23:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("./input/index"),r=e("../i18n"),a=e("../handlers/output"),o=e("../utils"),s=e("../session"),l={};n.GetPinValue=function(e){if(null!=l[e]&&document.contains(l[e].element[0]))return l[e].get_value()},n.PinUpdate=function(e,t){l[e].update_input({attributes:t})};var c={},u={};n.WaitChange=function(e,t){var n=[],i={},r=!0,a=!1,s=void 0;try{for(var l,u=function(){var e=l.value;n.push(new Promise((function(t){i[e]=function(e,t){var n=o.randomid(10);e in c||(c[e]={});return c[e][n]=t,n}(e,(function(n){t({name:e,value:n})}))})))},p=e[Symbol.iterator]();!(r=(l=p.next()).done);r=!0)u()}catch(e){a=!0,s=e}finally{try{!r&&p.return&&p.return()}finally{if(a)throw s}}return t&&n.push(new Promise((function(e){setTimeout((function(){e(null)}),1e3*t)}))),Promise.race(n).then((function(t){var n=!0,r=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var l=o.value,u=i[l];delete c[l][u]}}catch(e){r=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw a}}return t}))},n.PinChangeCallback=function(e,t,n){e in u&&!n||(u[e]=[]),t&&u[e].push((function(e){s.pushData(e,t)}))},n.PinWidget={handle_type:"pin",get_element:function(e){var t=e.input;if(t.name in l){var n='<p style="color: grey; border:1px solid #ced4da; padding: .375rem .75rem;">'+r.t("duplicated_pin_name")+"</p>";l[t.name].element.replaceWith(n)}t.onchange=!0,t.onblur=!0;var o=new(i.get_input_item_from_type(t.type))(t,null,(function(e,n){"change"==e&&function(e,t){var n=c[e]||{};Object.keys(n).forEach((function(e){(0,n[e])(t)}));var i=!0,r=!1,a=void 0;try{for(var o,s=(u[e]||[])[Symbol.iterator]();!(i=(o=s.next()).done);i=!0){(0,o.value)(t)}}catch(e){r=!0,a=e}finally{try{!i&&s.return&&s.return()}finally{if(r)throw a}}}(t.name,n.get_value())}));return l[t.name]=o,a.AfterCurrentOutputWidgetShow((function(){o.after_add_to_dom(),o.after_show(!0)})),o.create_element()}}},{"../handlers/output":6,"../i18n":11,"../session":24,"../utils":27,"./input/index":17}],24:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=e("./utils"),o=e("./state"),s=e("./i18n");function l(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"callback";e.length;)try{e.pop().call(this)}catch(e){console.log("Error in %s: %s",t,e)}}var c=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"index";r(this,e),this.ws_api=t,this.app_name=n,this.webio_session_id="NEW",this._session_create_ts=0,this._session_create_callbacks=[],this._session_close_callbacks=[],this._on_server_message=function(){},this.ws=null,this.debug=!1,this._closed=!1}return i(e,[{key:"set_ws_api",value:function(){var e=new URL(this.ws_api);if("wss:"!==e.protocol&&"ws:"!==e.protocol){var t=e.protocol||window.location.protocol;e.protocol=t.replace("https","wss").replace("http","ws")}e.search="?app="+this.app_name+"&session="+this.webio_session_id,this.ws_api=e.href}},{key:"on_session_create",value:function(e){this._session_create_callbacks.push(e)}},{key:"on_session_close",value:function(e){this._session_close_callbacks.push(e)}},{key:"on_server_message",value:function(e){this._on_server_message=e}},{key:"start_session",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this;this.set_ws_api(),this._session_create_ts=Date.now(),this.debug=t,this.ws=new WebSocket(this.ws_api),this.ws.onopen=function(){l(e._session_create_callbacks,"session_create_callback")},this.ws.onclose=function(e){if(n._closed||"NEW"==n.webio_session_id)n.close_session();else{Date.now()-n._session_create_ts>5e3?n.start_session(n.debug):setTimeout((function(){n.start_session(n.debug)}),5e3-Date.now()+n._session_create_ts)}},this.ws.onmessage=function(e){var i=JSON.parse(e.data);t&&console.info(">>>",JSON.parse(e.data)),n._on_server_message(i)}}},{key:"start_onprogress",value:function(e){var t=this,n=this.ws.bufferedAmount,i=setInterval((function(){var r=n-t.ws.bufferedAmount;e(r,n),0==t.ws.bufferedAmount&&clearInterval(i)}),200)}},{key:"send_message",value:function(e,t){return this.closed()?a.error_alert(s.t("disconnected_with_server")):null===this.ws?console.error("WebSocketWebIOSession.ws is null when invoke WebSocketWebIOSession.send_message. Please call WebSocketWebIOSession.start_session first"):(this.ws.send(JSON.stringify(e)),t&&this.start_onprogress(t),void(this.debug&&console.info("<<<",e)))}},{key:"send_buffer",value:function(e,t){return this.closed()?a.error_alert(s.t("disconnected_with_server")):null===this.ws?console.error("WebSocketWebIOSession.ws is null when invoke WebSocketWebIOSession.send_message. Please call WebSocketWebIOSession.start_session first"):(this.ws.send(e),t&&this.start_onprogress(t),void(this.debug&&console.info("<<< Blob data...")))}},{key:"close_session",value:function(){this._closed=!0,l(this._session_close_callbacks,"session_close_callback");try{this.ws.close()}catch(e){}}},{key:"closed",value:function(){return this._closed||this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING}}]),e}();n.WebSocketSession=c;var u=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"index",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;r(this,e),this.api_url=t,this.pull_interval_ms=i,this.interval_pull_id=null,this.webio_session_id="NEW",this.debug=!1,this._closed=!1,this._session_create_callbacks=[],this._session_close_callbacks=[],this._on_server_message=function(){};var a=new URL(t,window.location.href);a.search="?app="+n,this.api_url=a.href}return i(e,[{key:"on_session_create",value:function(e){this._session_create_callbacks.push(e)}},{key:"on_session_close",value:function(e){this._session_close_callbacks.push(e)}},{key:"on_server_message",value:function(e){this._on_server_message=e}},{key:"start_session",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.debug=t,this.pull(),this.interval_pull_id=setInterval((function(){e.pull()}),this.pull_interval_ms)}},{key:"pull",value:function(){var e=this;$.ajax({type:"GET",url:this.api_url,contentType:"application/json; charset=utf-8",dataType:"json",headers:{"webio-session-id":this.webio_session_id},success:function(t,n,i){l(e._session_create_callbacks,"session_create_callback"),e._on_request_success(t,n,i)},error:function(){console.error("Http pulling failed")}})}},{key:"_on_request_success",value:function(e,t,n){var i=n.getResponseHeader("webio-session-id");i&&(this.webio_session_id=i);var r=!0,a=!1,o=void 0;try{for(var s,l=e[Symbol.iterator]();!(r=(s=l.next()).done);r=!0){var c=s.value;this.debug&&console.info(">>>",c),this._on_server_message(c)}}catch(e){a=!0,o=e}finally{try{!r&&l.return&&l.return()}finally{if(a)throw o}}}},{key:"send_message",value:function(e,t){this.debug&&console.info("<<<",e),this._send({data:JSON.stringify(e),contentType:"application/json; charset=utf-8"},t)}},{key:"send_buffer",value:function(e,t){this.debug&&console.info("<<< Blob data..."),this._send({data:e,cache:!1,processData:!1,contentType:"application/octet-stream"},t)}},{key:"_send",value:function(e,t){if(this.closed())return a.error_alert(s.t("disconnected_with_server"));$.ajax(Object.assign(Object.assign({},e),{type:"POST",url:this.api_url,dataType:"json",headers:{"webio-session-id":this.webio_session_id},success:this._on_request_success.bind(this),xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",(function(e){e.lengthComputable&&t&&t(e.loaded,e.total)}),!1),e},error:function(){console.error("Http push blob data failed"),a.error_alert(s.t("connect_fail"))}}))}},{key:"close_session",value:function(){this._closed=!0,l(this._session_close_callbacks,"session_close_callback"),clearInterval(this.interval_pull_id)}},{key:"closed",value:function(){return this._closed}},{key:"change_pull_interval",value:function(e){var t=this;clearInterval(this.interval_pull_id),this.pull_interval_ms=e,this.interval_pull_id=setInterval((function(){t.pull()}),this.pull_interval_ms)}}]),e}();n.HttpSession=u,n.is_http_backend=function(e){var t=new URL(e),n=t.protocol||window.location.protocol;return t.protocol=n.replace("wss","https").replace("ws","http"),e=t.href,new Promise((function(t,n){$.get(e,{test:1},void 0,"html").done((function(e){t("ok"===e)})).fail((function(e){t(!1)}))}))},n.pushData=function(e,t){if(null===o.state.CurrentSession)return console.error("can't invoke PushData when WebIOController is not instantiated");o.state.CurrentSession.send_message({event:"callback",task_id:t,data:e})}},{"./i18n":11,"./state":25,"./utils":27}],25:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.state={AutoScrollBottom:!1,CurrentSession:null,ShowDuration:200,InputPanelMinHeight:300,InputPanelInitHeight:300,FixedInputPanel:!0,AutoFocusOnInput:!0},n.config={codeMirrorModeURL:"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.52.2/mode/%N/%N.min.js",codeMirrorThemeURL:"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.52.2/theme/%N.min.css",outputAnimation:!0,httpPullInterval:1e3,debug:!1}},{}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("./state"),r=!1,a=$("#input-container"),o=$("#input-cards"),s=$("#end-space");function l(){r=!1,a.hasClass("fixed")&&a.removeClass("fixed"),a.height("unset"),s.height(0)}function c(){var e=Math.max(i.state.InputPanelMinHeight,75),t=o.height()+80;return Math.min(t,e)}function u(e){if(e=i.state.FixedInputPanel&&e){var t=(n=Math.max(i.state.InputPanelInitHeight,175),r=o.height()+80,Math.min(r,n));s.height(t-40),a.height(t),a.addClass("fixed")}else a.removeClass("fixed"),s.height(0),a.height("unset");var n,r}function p(e){var t=a.height()+e;t>=o.height()?t=o.height():t<=c()-80&&(t=c()-80),a.height(t),s.height(t-40)}n.show_input=function(){l(),r=!0,$(window).height()-a[0].getBoundingClientRect().top<c()-40&&u(!0)},n.close_input=l,$((function(){a=$("#input-container"),o=$("#input-cards"),s=$("#end-space");var e=0;$(window).on("scroll",(function(){var t=window.pageYOffset||document.documentElement.scrollTop,n=t<e,i=t>e;a.hasClass("fixed")?$(window).scrollTop()+window.innerHeight>$(document).height()-50&&i&&(u(!1),t=window.pageYOffset||document.documentElement.scrollTop):$(window).height()-a[0].getBoundingClientRect().top<c()-40&&n&&r&&(u(!0),t=window.pageYOffset||document.documentElement.scrollTop),e=t<=0?0:t})),a[0].addEventListener("wheel",(function(e){a.hasClass("fixed")&&(e.preventDefault(),p(parseInt(e.deltaY)))}));var t=-1;a[0].addEventListener("touchstart",(function(e){e.changedTouches.length>1||(t=e.changedTouches[0].screenY)})),a[0].addEventListener("touchmove",(function(e){if(a.hasClass("fixed")&&!(e.changedTouches.length>1)){e.preventDefault();var n=t-e.changedTouches[0].screenY;t=e.changedTouches[0].screenY,p(n)}}))}))},{"./state":25}],27:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.keys=[],this.map={}}return i(e,[{key:"push",value:function(e,t){if(e in this.map)return console.error("LRUMap: key:%s already in map",e);this.keys.push(e),this.map[e]=t}},{key:"get_value",value:function(e){return this.map[e]}},{key:"get_top",value:function(){var e=this.keys[this.keys.length-1];return this.map[e]}},{key:"set_value",value:function(e,t){if(!(e in this.map))return console.error("LRUMap: key:%s not in map when call `set_value`",e);this.map[e]=t}},{key:"move_to_top",value:function(e){var t=this.keys.indexOf(e);if(!(t>-1))return console.error("LRUMap: key:%s not in map when call `move_to_top`",e);this.keys.splice(t,1),this.keys.push(e)}},{key:"remove",value:function(e){if(!(e in this.map))return console.error("LRUMap: key:%s not in map when call `remove`",e);delete this.map[e],this.keys.splice(this.keys.indexOf(e),1)}}]),e}();function a(e){var t=JSON.stringify(e),n=(new TextEncoder).encode(t).buffer;return new Blob([o(n.byteLength),n],{type:"application/octet-stream"})}function o(e){var t=new ArrayBuffer(8),n=new DataView(t);return n.setUint32(0,e/4294967296|0),n.setUint32(4,0|e),t}n.LRUMap=r,n.b64toBlob=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"application/octet-stream",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:512,i=atob(e),r=[],a=0;a<i.length;a+=n){for(var o=i.slice(a,a+n),s=new Array(o.length),l=0;l<o.length;l++)s[l]=o.charCodeAt(l);var c=new Uint8Array(s);r.push(c)}var u=new Blob(r,{type:t});return u},n.make_set=function(e){var t={},n=!0,i=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){t[a.value]=""}}catch(e){i=!0,r=e}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}return t},n.deep_copy=function(e){return JSON.parse(JSON.stringify(e))},n.body_scroll_to=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n=arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=null;"top"===t?r=e.offset().top:"middle"===t?r=e.offset().top+.5*e[0].clientHeight-.5*$(window).height():"bottom"===t&&(r=e[0].clientHeight+e.offset().top-$(window).height());var a=$("body,html"),o=Math.abs(a.scrollTop()-r-i);null!==r&&a.stop().animate({scrollTop:r+i},Math.min(o,500)+100,n)},n.box_scroll_to=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top",i=arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=null;"top"===n?a=e[0].getBoundingClientRect().top-t[0].getBoundingClientRect().top:"middle"===n?a=e[0].getBoundingClientRect().top-t[0].getBoundingClientRect().top-.5*t.height()+.5*e.height():"bottom"===n&&(a=e[0].getBoundingClientRect().bottom-t[0].getBoundingClientRect().bottom);var o=Math.min(Math.abs(a+r),500)+100;null!==a&&t.stop().animate({scrollTop:t.scrollTop()+a+r},o,i)},n.randomid=function(e){for(var t="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=n.length,r=0;r<e;r++)t+=n.charAt(Math.floor(Math.random()*i));return t},n.openApp=function(e,t){var n=new URL(window.location.href);n.searchParams.set("app",e),t?window.open(n.href):window.location.href=n.href},n.error_alert=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1.5;Toastify({text:Mustache.escape(e),duration:1e3*t,gravity:"top",position:"center",backgroundColor:"#e53935"}).showToast()},n.serialize_file=function(e,t){var n={filename:e.name,size:e.size,mime_type:e.type,last_modified:e.lastModified/1e3,input_name:t};return new Blob([a(n),o(e.size),e],{type:"application/octet-stream"})},n.serialize_json=a},{}]},{},[12]);
//# sourceMappingURL=pywebio.min.js.map