penframe
Version:
A lightweight DSL-based wireframe and UI structure visualization tool.
2 lines • 36.3 kB
JavaScript
/*! For license information please see penframe.min.js.LICENSE.txt */
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.PenFrame=n():t.PenFrame=n()}(this,(()=>{return t={306:t=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=Array(n);r<n;r++)e[r]=t[r];return e}function e(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),r.push.apply(r,e)}return r}function o(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(n){c(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))}))}return t}function c(t,r,e){return(r=function(t){var r=function(t){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=n(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function a(t,n){if(!t||0===t.length)return"";var r=40;return t.map((function(t){if("container"===t.type){var e,c=null!==(e=t.y)&&void 0!==e?e:r,s=t.height||100;return void 0===t.y&&(r+=s),function(t,n,r){var e,o=t.x||0,c=null!==(e=t.width)&&void 0!==e?e:n.width-o,i=t.height||100,l=t.color||"transparent",u=a(t.children,{width:c,height:i});return'\n <g transform="translate('.concat(o,", ").concat(r,')">\n <rect class="container" x="0" y="0" width="').concat(c,'" height="').concat(i,'" fill="').concat(f(l),'" />\n ').concat(u,"\n </g>\n ")}(t,n,c)}if("headline"===t.type){var h,d,p=null!==(h=t.x)&&void 0!==h?h:n.width/2,v=null!==(d=t.y)&&void 0!==d?d:r;return void 0===t.y&&(r+=40),function(t,n,r){var e,o,c=t.level||2,a=t.color||"#333333";switch(c){case 1:e=24,o="bold";break;case 2:e=18,o="bold";break;default:e=14,o="normal"}return'\n <text class="headline" x="'.concat(n,'" y="').concat(r,'" font-size="').concat(e,'" font-weight="').concat(o,'" fill="').concat(f(a),'" text-anchor="middle">\n ').concat(f(t.value),"\n </text>\n ")}(t,p,v)}if("paragraph"===t.type){var y,m=null!==(y=t.y)&&void 0!==y?y:r,g=20;return t.width&&(g=14*u(t.value,t.width,14).length*1.2),void 0===t.y&&(r+=g),function(t,n,r){var e,o;switch(t.align||"left"){case"center":e=n.width/2+(t.x||0),o="middle";break;case"right":e=n.width+(t.x||0),o="end";break;default:e=0+(t.x||0),o="start"}var c,a=t.color||"#333333",i=t.width,l=e;return i?(l=0,c=u(t.value,i,14).map((function(t,n){var r=0===n?0:"1.2em";return'<tspan x="'.concat(e,'" dy="').concat(r,'">').concat(f(t),"</tspan>")})).join("")):c=f(t.value),'\n <text class="paragraph" x="'.concat(l,'" y="').concat(r,'" font-size="').concat(14,'" font-weight="').concat("normal",'" fill="').concat(f(a),'" text-anchor="').concat(o,'">\n ').concat(c,"\n </text>\n ")}(t,n,m)}if("button"===t.type){var b,x=null!==(b=t.y)&&void 0!==b?b:r;return void 0===t.y&&(r+=40),i(t,n,x)}if("formcontrol"===t.type){var w,A=null!==(w=t.y)&&void 0!==w?w:r;if(void 0===t.y){var k=30,j=18,O=t.items;"textbox"===t.control&&t.rows>1?k=16*t.rows+14:"select"===t.control&&!0===t.multiple&&Array.isArray(O)?k=16*O.length+14:"checkbox"!==t.control&&"radio"!==t.control||!Array.isArray(O)||(k="column"===(t.direction||"column")?25*O.length:25),r+=j+=k+20}return l(t,n,A)}if("list"===t.type){var S,P=null!==(S=t.y)&&void 0!==S?S:r;if(void 0===t.y){var E=80;Array.isArray(t.items)&&"column"===(t.direction||"column")&&(E=20*t.items.length+20),r+=E}return function(t,n,r){var e,o=null!==(e=t.x)&&void 0!==e?e:20,c=t.items||[],a=t.direction||"column",i=t.listColor||"#333",l=t.color||"#333",u="";return c.forEach((function(t,n){var e=o,c=r;"column"===a?c=r+22*n:e=o+120*n,u+='\n <circle cx="'.concat(e,'" cy="').concat(c,'" r="').concat(3,'" fill="').concat(i,'" />\n <text class="list-item-text" x="').concat(e+10,'" y="').concat(c,'" fill="').concat(l,'" dominant-baseline="middle">\n ').concat(f(t),"\n </text>\n ")})),"<g>".concat(u,"</g>")}(t,0,P)}if("image"===t.type){var C,F=null!==(C=t.y)&&void 0!==C?C:r;if(void 0===t.y){var T=t.height?t.height+20:150;r+=T}return function(t,n,r){var e,o=null!==(e=t.x)&&void 0!==e?e:20,c=t.width||100,a=t.height||100,i=t.color||"#ccc",l=t.alt||"",u="";if(l){var s=c/2,h=a/2,d=14*l.length*.6+20;u='\n <rect x="'.concat(s-d/2,'" y="').concat(h-12,'" width="').concat(d,'" height="').concat(24,'" fill="#ffffff" opacity="0.8" />\n <text x="').concat(s,'" y="').concat(h,'" text-anchor="middle" dominant-baseline="middle" font-size="').concat(14,'" fill="#333">\n ').concat(f(l),"\n </text>\n ")}return'\n <g transform="translate('.concat(o,", ").concat(r,')">\n <rect x="0" y="0" width="').concat(c,'" height="').concat(a,'" fill="#f9f9f9" stroke="').concat(i,'" stroke-width="1" />\n <line x1="0" y1="0" x2="').concat(c,'" y2="').concat(a,'" stroke="').concat(i,'" stroke-width="1" />\n <line x1="0" y1="').concat(a,'" x2="').concat(c,'" y2="0" stroke="').concat(i,'" stroke-width="1" />\n ').concat(u,"\n </g>\n ")}(t,0,F)}if("table"===t.type){var R,z=null!==(R=t.y)&&void 0!==R?R:r;return void 0===t.y&&(r+=200),function(t,n,r){var e,c,a=null!==(e=t.x)&&void 0!==e?e:20,u=null!==(c=t.width)&&void 0!==c?c:n.width-2*a,s=t.rows||[],h=t.headers||[],d=h.length||(s[0]?s[0].length:0);if(0===d)return"";var p=t.widths||Array(d).fill(u/d),v=40,y="",m=r;if(h.length>0){var g=a;h.forEach((function(t,n){y+='\n <rect x="'.concat(g,'" y="').concat(m,'" width="').concat(p[n],'" height="').concat(v,'" fill="#f0f0f0" stroke="#ccc" />\n <text class="table-header" x="').concat(g+p[n]/2,'" y="').concat(m+20,'" text-anchor="middle" dominant-baseline="middle">\n ').concat(f(t),"\n </text>\n "),g+=p[n]})),m+=v}return s.forEach((function(t){var n=a;t.forEach((function(t,r){var e=p[r],c=n,a=m,u={width:e,height:v},s="";switch(t.type){case"button":s=i(o(o({},t),{},{align:t.align||"center"}),u,20);break;case"checkbox":s=l(o({control:"checkbox"},t),u,20);break;case"textbox":s=l(o({control:"textbox"},t),u,20);break;default:var h,d,g=t.color||"#333";switch(t.align||"left"){case"center":h=p[r]/2,d="middle";break;case"right":h=p[r]-10,d="end";break;default:h=10,d="start"}s='<text class="table-cell" x="'.concat(h,'" y="').concat(20,'" dominant-baseline="middle" fill="').concat(g,'" text-anchor="').concat(d,'">').concat(f(t.value||""),"</text>")}y+='\n <rect x="'.concat(c,'" y="').concat(a,'" width="').concat(e,'" height="').concat(v,'" fill="#fff" stroke="#ccc" />\n <g transform="translate(').concat(c,", ").concat(a,')">\n ').concat(s,"\n </g>\n "),n+=e})),m+=v})),"<g>".concat(y,"</g>")}(t,n,z)}if("tabs"===t.type){var D,M=null!==(D=t.y)&&void 0!==D?D:r;return void 0===t.y&&(r+=60),function(t,n,r){var e,o,c,a=null!==(e=t.x)&&void 0!==e?e:20,i=null!==(o=t.width)&&void 0!==o?o:n.width-2*a,l=t.items||[],u=null!==(c=t.active)&&void 0!==c?c:0,s=40,h=i/Math.max(l.length,1),d="";if(l.forEach((function(t,n){var e=a+n*h,o=n===u,c=o?"#ffffff":"#f0f0f0",i=o?"#333333":"#666666";d+='\n <rect x="'.concat(e,'" y="').concat(r,'" width="').concat(h,'" height="').concat(s,'" \n fill="').concat(c,'" stroke="').concat("#cccccc",'" stroke-width="1" />\n <text x="').concat(e+h/2,'" y="').concat(r+20,'" \n text-anchor="middle" dominant-baseline="middle" \n font-family="sans-serif" font-size="14" fill="').concat(i,'">\n ').concat(f(t),"\n </text>\n ")})),l.length>0){var p=a+u*h;p>a&&(d+='\n <line x1="'.concat(a,'" y1="').concat(r+s,'" x2="').concat(p,'" y2="').concat(r+s,'" \n stroke="#cccccc" stroke-width="1" />\n '));var v=p+h;v<a+i&&(d+='\n <line x1="'.concat(v,'" y1="').concat(r+s,'" x2="').concat(a+i,'" y2="').concat(r+s,'" \n stroke="#cccccc" stroke-width="1" />\n '))}return"<g>".concat(d,"</g>")}(t,n,M)}if("badge"===t.type){var I,U=null!==(I=t.y)&&void 0!==I?I:r;return void 0===t.y&&(r+=40),function(t,n,r){var e,o,c=null!==(e=t.x)&&void 0!==e?e:20,a=t.value||"",i=t.color||"#007bff",l=t.textColor||"#ffffff",u=null!==(o=t.borderRadius)&&void 0!==o?o:12,s=12*a.length*.6,h=t.width||s+16,d=t.height||20,p=c+h/2,v=r+d/2;return'\n <rect x="'.concat(c,'" y="').concat(r,'" width="').concat(h,'" height="').concat(d,'" \n fill="').concat(f(i),'" rx="').concat(u,'" ry="').concat(u,'" />\n <text x="').concat(p,'" y="').concat(v,'" \n text-anchor="middle" dominant-baseline="middle" \n font-family="sans-serif" font-size="').concat(12,'" font-weight="bold" \n fill="').concat(f(l),'">\n ').concat(f(a),"\n </text>\n ")}(t,0,U)}if("hr"===t.type){var $,L=null!==($=t.y)&&void 0!==$?$:r;return void 0===t.y&&(r+=20),function(t,n,r){var e,o,c=null!==(e=t.x)&&void 0!==e?e:20,a=null!==(o=t.width)&&void 0!==o?o:n.width-2*c,i=t.color||"#cccccc",l=t.strokeWidth||1;return'\n <line x1="'.concat(c,'" y1="').concat(r,'" x2="').concat(c+a,'" y2="').concat(r,'" stroke="').concat(f(i),'" stroke-width="').concat(l,'" />\n ')}(t,n,L)}if("spacer"===t.type){var G=t.height||16;return void 0===t.y&&(r+=G),""}return""})).join("\\n")}function i(t,n,r){var e,o=t.align||"left",c=14*t.value.length*.6,a=t.width||c+40;switch(o){case"center":e=n.width/2-a/2+(t.x||0);break;case"right":e=n.width-a+(t.x||0);break;default:e=0+(t.x||0)}var i=t.color||"#cccccc",l=t.textColor||"#000000",u=e+a/2;return'\n <g transform="translate(0, '.concat(r,')">\n <rect x="').concat(e,'" y="-').concat(15,'" width="').concat(a,'" height="').concat(30,'" fill="').concat(f(i),'" rx="5" />\n <text class="button" x="').concat(u,'" y="0" font-size="').concat(14,'" fill="').concat(f(l),'" text-anchor="middle" dominant-baseline="middle">\n ').concat(f(t.value),"\n </text>\n </g>\n ")}function l(t,n,r){var e,o,c=null!==(e=t.x)&&void 0!==e?e:20,a=t.label||"",i=t.position||"top",l=c,u=30,s=t.items,h=t.direction||"column";"textbox"===t.control&&t.rows>1?u=16*t.rows+14:"select"===t.control&&!0===t.multiple&&Array.isArray(s)?u=16*s.length+14:"checkbox"!==t.control&&"radio"!==t.control||!Array.isArray(s)||(u="column"===h?25*s.length:25),!a||"left"!==i||"textbox"!==t.control&&"select"!==t.control&&"calendar"!==t.control||(l=c+120);var d=null!==(o=t.width)&&void 0!==o?o:"textbox"===t.control||"select"===t.control||"calendar"===t.control?n.width-l-20:null,p="",v=r;if(a)if("left"===i){var y=r+u/2;p='<text class="form-label" x="'.concat(c,'" y="').concat(y,'" dominant-baseline="middle">').concat(f(a),"</text>"),v=r}else{var m=r+12;p='<text class="form-label" x="'.concat(c,'" y="').concat(m,'">').concat(f(a),"</text>"),v=r+18}var g="";switch(t.control){case"textbox":var b=a?v:r-u/2;if(g='<rect class="form-control" x="'.concat(l,'" y="').concat(b,'" width="').concat(d,'" height="').concat(u,'" fill="#fff" />'),t.placeholder){var x=b+u/2;g+='\n <text class="placeholder-text" x="'.concat(l+10,'" y="').concat(x,'" dominant-baseline="middle">\n ').concat(f(t.placeholder),"\n </text>\n ")}break;case"select":if(!0===t.multiple&&Array.isArray(s)){g='<rect class="form-control" x="'.concat(l,'" y="').concat(v,'" width="').concat(d,'" height="').concat(u,'" fill="#fff" />');var w=v+18;s.forEach((function(t){g+='<text class="form-label" x="'.concat(l+10,'" y="').concat(w,'">').concat(f(t),"</text>"),w+=16}))}else{var A=a?v:r-u/2,k=A+u/2,j="M ".concat(l+d-20," ").concat(k-5," l 5 10 l 5 -10 z");g='\n <rect class="form-control" x="'.concat(l,'" y="').concat(A,'" width="').concat(d,'" height="').concat(u,'" fill="#fff" />\n <path d="').concat(j,'" fill="#333" />\n ')}break;case"calendar":var O,S=a?v:r-u/2,P=null!==(O=t.placeholder)&&void 0!==O?O:"YYYY-MM-DD",E=S+u/2,C=l+d-14-8,F=S+u/2-7,T="\n M ".concat(C," ").concat(F+2," h ").concat(14," v ").concat(12," h -").concat(14," z\n M ").concat(C," ").concat(F+5," h ").concat(14,"\n M ").concat(C+3," ").concat(F," v 4\n M ").concat(C+14-3," ").concat(F," v 4\n ");g='\n <rect class="form-control" x="'.concat(l,'" y="').concat(S,'" width="').concat(d,'" height="').concat(u,'" fill="#fff" />\n <path d="').concat(T,'" stroke="#333" stroke-width="1.5" fill="none" />\n <text class="placeholder-text" x="').concat(l+10,'" y="').concat(E,'" dominant-baseline="middle">\n ').concat(f(P),"\n </text>\n ");break;case"checkbox":case"radio":if(Array.isArray(s)){var R=t.value;s.forEach((function(n,r){var e=l,o=v+12.5;"column"===h?o=v+25*r+12.5:e=l+100*r;var c=Array.isArray(R)?R.includes(n):R===n;if("checkbox"===t.control){var a=e,i=o-8;if(g+='<rect class="form-control" x="'.concat(a,'" y="').concat(i,'" width="').concat(16,'" height="').concat(16,'" fill="#fff" />'),c){var u="M ".concat(a+4," ").concat(i+8," l 3 3 l 6 -6");g+='<path d="'.concat(u,'" stroke="#333" stroke-width="2" fill="none" />')}}else g+='<circle class="form-control" cx="'.concat(e+8,'" cy="').concat(o,'" r="').concat(8,'" fill="#fff" />'),c&&(g+='<circle cx="'.concat(e+8,'" cy="').concat(o,'" r="').concat(4,'" fill="#333" />'));g+='\n <text class="form-label" x="'.concat(e+25,'" y="').concat(o,'" dominant-baseline="middle">\n ').concat(f(n),"\n </text>\n ")}))}else{var z=r,D=n.width/2;if("checkbox"===t.control){var M=D-8,I=z-8;if(g='<rect class="form-control" x="'.concat(M,'" y="').concat(I,'" width="').concat(16,'" height="').concat(16,'" fill="#fff" />'),!0===t.value){var U="M ".concat(M+3," ").concat(I+8," l 4 4 l 8 -8");g+='<path d="'.concat(U,'" stroke="#333" stroke-width="2" fill="none" />')}}else g='<circle class="form-control" cx="'.concat(D,'" cy="').concat(z,'" r="').concat(10,'" fill="#fff" />')}}return"\n <g>\n ".concat(p,"\n ").concat(g,"\n </g>\n ")}function u(t,n,e){var o,c=.6*e,a=[],i="",l=function(t,n){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(t){if("string"==typeof t)return r(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?r(t,n):void 0}}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var o=0,c=function(){};return{s:c,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return i=t.done,t},e:function(t){l=!0,a=t},f:function(){try{i||null==e.return||e.return()}finally{if(l)throw a}}}}(t.split(/\s+/));try{for(l.s();!(o=l.n()).done;){var u=o.value;if(""===i)i=u;else{var f=i+" "+u;f.length*c>n?(a.push(i),i=u):i=f}}}catch(t){l.e(t)}finally{l.f()}return i&&a.push(i),a}function f(t){return String(t).replace(/[&<>"']/g,(function(t){switch(t){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case"'":return"'"}}))}t.exports=function(t){if(!Array.isArray(t)||0===t.length)throw new Error("AST must be a non-empty array");var n=t.find((function(t){return"config"===t.type}))||{},r=n.width||1200,e=n.height||800,o=n.title||"Penframe SVG",c=r,i=e+60,l=a(t.filter((function(t){return"config"!==t.type})),{width:r,height:e});return'<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(c,'" height="').concat(i,'" viewBox="0 0 ').concat(c," ").concat(i,'">\n <style>\n .container { stroke: #333; stroke-width: 1; }\n .app-area { fill: #ffffff; stroke: #cccccc; stroke-width: 1; }\n .headline { font-family: sans-serif; dominant-baseline: middle; }\n .paragraph { font-family: sans-serif; dominant-baseline: middle; }\n .title { font-family: sans-serif; font-weight: bold; dominant-baseline: middle; }\n .button { font-family: sans-serif; }\n .form-label { font-family: sans-serif; font-size: 12px; }\n .form-control { stroke: #333; stroke-width: 1; }\n .placeholder-text { font-family: sans-serif; fill: #999; }\n .list-item-text { font-family: sans-serif; font-size: 16px; }\n .table-header { font-family: sans-serif; font-weight: bold; }\n .table-cell { font-family: sans-serif; }\n </style>\n <text class="title" x="').concat(c/2,'" y="').concat(30,'" text-anchor="middle" font-size="20">').concat(f(o),'</text>\n \n <g class="app-group" transform="translate(0, ').concat(60,')">\n <rect class="app-area" x="0" y="0" width="').concat(r,'" height="').concat(e,'" />\n ').concat(l,"\n </g>\n</svg>")}},458:(t,n,r)=>{function e(){var t,n,r="function"==typeof Symbol?Symbol:{},c=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function i(r,e,c,a){var i=e&&e.prototype instanceof u?e:u,f=Object.create(i.prototype);return o(f,"_invoke",function(r,e,o){var c,a,i,u=0,f=o||[],s=!1,h={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(n,r){return c=n,a=0,i=t,h.n=r,l}};function d(r,e){for(a=r,i=e,n=0;!s&&u&&!o&&n<f.length;n++){var o,c=f[n],d=h.p,p=c[2];r>3?(o=p===e)&&(i=c[(a=c[4])?5:(a=3,3)],c[4]=c[5]=t):c[0]<=d&&((o=r<2&&d<c[1])?(a=0,h.v=e,h.n=c[1]):d<p&&(o=r<3||c[0]>e||e>p)&&(c[4]=r,c[5]=e,h.n=p,a=0))}if(o||r>1)return l;throw s=!0,e}return function(o,f,p){if(u>1)throw TypeError("Generator is already running");for(s&&1===f&&d(f,p),a=f,i=p;(n=a<2?t:i)||!s;){c||(a?a<3?(a>1&&(h.n=-1),d(a,i)):h.n=i:h.v=i);try{if(u=2,c){if(a||(o="next"),n=c[o]){if(!(n=n.call(c,i)))throw TypeError("iterator result is not an object");if(!n.done)return n;i=n.value,a<2&&(a=0)}else 1===a&&(n=c.return)&&n.call(c),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);c=t}else if((n=(s=h.n<0)?i:r.call(e,h))!==l)break}catch(n){c=t,a=1,i=n}finally{u=1}}return{value:n,done:s}}}(r,c,a),!0),f}var l={};function u(){}function f(){}function s(){}n=Object.getPrototypeOf;var h=[][c]?n(n([][c]())):(o(n={},c,(function(){return this})),n),d=s.prototype=u.prototype=Object.create(h);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,o(t,a,"GeneratorFunction")),t.prototype=Object.create(d),t}return f.prototype=s,o(d,"constructor",s),o(s,"constructor",f),f.displayName="GeneratorFunction",o(s,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,c,(function(){return this})),o(d,"toString",(function(){return"[object Generator]"})),(e=function(){return{w:i,m:p}})()}function o(t,n,r,e){var c=Object.defineProperty;try{c({},"",{})}catch(t){c=0}o=function(t,n,r,e){if(n)c?c(t,n,{value:r,enumerable:!e,configurable:!e,writable:!e}):t[n]=r;else{var a=function(n,r){o(t,n,(function(t){return this._invoke(n,r,t)}))};a("next",0),a("throw",1),a("return",2)}},o(t,n,r,e)}function c(t,n,r,e,o,c,a){try{var i=t[c](a),l=i.value}catch(t){return void r(t)}i.done?n(l):Promise.resolve(l).then(e,o)}function a(t){return function(){var n=this,r=arguments;return new Promise((function(e,o){var a=t.apply(n,r);function i(t){c(a,e,o,i,l,"next",t)}function l(t){c(a,e,o,i,l,"throw",t)}i(void 0)}))}}var i=r(885),l=r(306);function u(t){return i.parse(t)}function f(t){var n=u(t);return l(n)}function s(t){return h.apply(this,arguments)}function h(){return h=a(e().m((function t(n){var r,o,c,a,i,l,u,s,h,d,p,v,y=arguments;return e().w((function(t){for(;;)if(0===t.n)return o=(r=y.length>1&&void 0!==y[1]?y[1]:{}).width,c=void 0===o?800:o,a=r.height,i=void 0===a?600:a,l=r.scale,u=void 0===l?1:l,s=r.background,h=void 0===s?"white":s,d=f(n),p=document.createElement("canvas"),v=p.getContext("2d"),p.width=c*u,p.height=i*u,"transparent"!==h&&(v.fillStyle=h,v.fillRect(0,0,p.width,p.height)),t.a(2,new Promise((function(t,n){var r=new Image,e=new Blob([d],{type:"image/svg+xml"}),o=URL.createObjectURL(e);r.onload=function(){v.scale(u,u),v.drawImage(r,0,0,c,i),URL.revokeObjectURL(o);var n=p.toDataURL("image/png");t(n)},r.onerror=function(){URL.revokeObjectURL(o),n(new Error("Failed to load SVG"))},r.src=o})))}),t)}))),h.apply(this,arguments)}function d(t){return p.apply(this,arguments)}function p(){return p=a(e().m((function t(n){var r,o,c=arguments;return e().w((function(t){for(;;)switch(t.n){case 0:return r=c.length>1&&void 0!==c[1]?c[1]:{},t.n=1,s(n,r);case 1:return o=t.v,t.a(2,new Promise((function(t){var n=document.createElement("canvas"),r=n.getContext("2d"),e=new Image;e.onload=function(){n.width=e.width,n.height=e.height,r.drawImage(e,0,0),n.toBlob((function(n){t(n)}),"image/png")},e.src=o})))}}),t)}))),p.apply(this,arguments)}t.exports?t.exports={parse:u,penframeToSvg:f,penframeToPngDataURL:s,penframeToPngBlob:d,astToSvg:l,parser:i}:window.PenFrame={parse:u,penframeToSvg:f,penframeToPngDataURL:s,penframeToPngBlob:d,astToSvg:l,parser:i}},885:t=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),r.push.apply(r,e)}return r}function e(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?r(Object(e),!0).forEach((function(n){o(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):r(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}function o(t,r,e){return(r=function(t){var r=function(t){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=n(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function c(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return a(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,n):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=Array(n);r<n;r++)e[r]=t[r];return e}function i(t,n,r,e){var o=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(o,i.prototype),o.expected=n,o.found=r,o.location=e,o.name="SyntaxError",o}function l(t,n,r){return r=r||" ",t.length>n?t:(n-=t.length,t+(r+=r.repeat(n)).slice(0,n))}!function(t,n){function r(){this.constructor=t}r.prototype=n.prototype,t.prototype=new r}(i,Error),i.prototype.format=function(t){var n="Error: "+this.message;if(this.location){var r,e=null;for(r=0;r<t.length;r++)if(t[r].source===this.location.source){e=t[r].text.split(/\r\n|\n|\r/g);break}var o=this.location.start,c=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,a=this.location.source+":"+c.line+":"+c.column;if(e){var i=this.location.end,u=l("",c.line.toString().length," "),f=e[o.line-1],s=(o.line===i.line?i.column:f.length+1)-o.column||1;n+="\n --\x3e "+a+"\n"+u+" |\n"+c.line+" | "+f+"\n"+u+" | "+l("",o.column-1," ")+l("",s,"^")}else n+="\n at "+a}return n},i.buildMessage=function(t,n){var r={literal:function(t){return'"'+o(t.text)+'"'},class:function(t){var n=t.parts.map((function(t){return Array.isArray(t)?c(t[0])+"-"+c(t[1]):c(t)}));return"["+(t.inverted?"^":"")+n.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function e(t){return t.charCodeAt(0).toString(16).toUpperCase()}function o(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function c(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function a(t){return r[t.type](t)}return"Expected "+function(t){var n,r,e=t.map(a);if(e.sort(),e.length>0){for(n=1,r=1;n<e.length;n++)e[n-1]!==e[n]&&(e[r]=e[n],r++);e.length=r}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+o(t)+'"':"end of input"}(n)+" found."},t.exports={StartRules:["Start"],SyntaxError:i,parse:function(t,n){var r,o,a,l,u={},f=(n=void 0!==n?n:{}).grammarSource,s={Start:fn},h=fn,d="@container",p="{",v="}",y="@",m="@headline",g="@p",b="@button",x="@formcontrol",w="@list",A="@image",k="@table",j="@hr",O="@tabs",S="@badge",P="@spacer",E=":",C="[",F="]",T=",",R="#",z='"',D=".",M="px",I=/^[,;]/,U=/^[0-9a-fA-F]/,$=/^[^"]/,L=/^[0-9]/,G=/^[a-zA-Z]/,_=/^[a-zA-Z0-9_]/,B=/^[ \t\n\r]/,Y=on("@container",!1),Z=on("{",!1),V=on("}",!1),q=on("@",!1),N=on("@headline",!1),W=on("@p",!1),H=on("@button",!1),J=on("@formcontrol",!1),K=on("@list",!1),Q=on("@image",!1),X=on("@table",!1),tt=on("@hr",!1),nt=on("@tabs",!1),rt=on("@badge",!1),et=on("@spacer",!1),ot=on(":",!1),ct=cn([",",";"],!1,!1),at=on("[",!1),it=on("]",!1),lt=on(",",!1),ut=on("#",!1),ft=cn([["0","9"],["a","f"],["A","F"]],!1,!1),st=on('"',!1),ht=cn(['"'],!0,!1),dt=on(".",!1),pt=cn([["0","9"]],!1,!1),vt=on("px",!1),yt=cn([["a","z"],["A","Z"]],!1,!1),mt=cn([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),gt={type:"other",description:"whitespace"},bt=cn([" ","\t","\n","\r"],!1,!1),xt=function(t){return t||[]},wt=function(t,n){var r=n.map((function(t){return t[1]}));return[t].concat(c(r))},At=function(t){var n={type:"container",children:[]};return t&&t.forEach((function(t){"property"===t.type?n[t.name]=t.value:n.children.push(t)})),n},kt=function(t){return t.filter((function(t){return null!==t}))},jt=function(t){return t},Ot=function(t,n,r){return e({type:"config",name:t,platform:n||"default"},r||{})},St=function(t,n){return e({type:"headline",value:t},n||{})},Pt=function(t,n){return e({type:"paragraph",value:t},n||{})},Et=function(t,n){return e({type:"button",value:t},n||{})},Ct=function(t,n){return e({type:"formcontrol",label:t},n||{})},Ft=function(t){return e({type:"list"},t||{})},Tt=function(t){return e({type:"image"},t||{})},Rt=function(t){return e({type:"table"},t||{})},zt=function(){return{type:"hr"}},Dt=function(t){return e({type:"tabs"},t||{})},Mt=function(t,n){return e({type:"badge",value:t},n||{})},It=function(t){return e({type:"spacer"},t||{})},Ut=function(t){return t},$t=function(t){var n={};return t.forEach((function(t){t&&(n[t.name]=t.value)})),n},Lt=function(t){return t},Gt=function(t,n){return{type:"property",name:t,value:n}},_t=function(t){return t||[]},Bt=function(t,n){var r=n.map((function(t){return t[3]}));return[t].concat(c(r))},Yt=function(t){return t},Zt=function(t){var n=t.join("");return[3,6].includes(n.length)||function(t,n){throw function(t,n){return new i(t,null,null,n)}("Invalid hex color length",n=void 0!==n?n:ln(Qt,Kt))}(),"#"+n},Vt=function(t){return t.join("")},qt=function(t,n){return n?{value:t,unit:n}:t},Nt=function(t,n){return parseFloat(t+"."+n.join(""))},Wt=function(t){return parseInt(t.join(""),10)},Ht=function(){return en()},Jt=function(){return en()},Kt=0|n.peg$currPos,Qt=Kt,Xt=[{line:1,column:1}],tn=Kt,nn=n.peg$maxFailExpected||[],rn=0|n.peg$silentFails;if(n.startRule){if(!(n.startRule in s))throw new Error("Can't start parsing from rule \""+n.startRule+'".');h=s[n.startRule]}function en(){return t.substring(Qt,Kt)}function on(t,n){return{type:"literal",text:t,ignoreCase:n}}function cn(t,n,r){return{type:"class",parts:t,inverted:n,ignoreCase:r}}function an(n){var r,e=Xt[n];if(e)return e;if(n>=Xt.length)r=Xt.length-1;else for(r=n;!Xt[--r];);for(e={line:(e=Xt[r]).line,column:e.column};r<n;)10===t.charCodeAt(r)?(e.line++,e.column=1):e.column++,r++;return Xt[n]=e,e}function ln(t,n,r){var e=an(t),o=an(n),c={source:f,start:{offset:t,line:e.line,column:e.column},end:{offset:n,line:o.line,column:o.column}};return r&&f&&"function"==typeof f.offset&&(c.start=f.offset(c.start),c.end=f.offset(c.end)),c}function un(t){Kt<tn||(Kt>tn&&(tn=Kt,nn=[]),nn.push(t))}function fn(){var t,n;return t=Kt,An(),n=function(){var t,n,r,e,o,c;if(t=Kt,(n=sn())!==u){for(r=[],e=Kt,o=An(),(c=sn())!==u?e=o=[o,c]:(Kt=e,e=u);e!==u;)r.push(e),e=Kt,o=An(),(c=sn())!==u?e=o=[o,c]:(Kt=e,e=u);Qt=t,t=wt(n,r)}else Kt=t,t=u;return t}(),n===u&&(n=null),An(),Qt=t,xt(n)}function sn(){var n;return(n=function(){var n,r,e,o;return n=Kt,t.substr(Kt,9)===m?(r=m,Kt+=9):(r=u,0===rn&&un(N)),r!==u?(An(),(e=bn())!==u?(An(),(o=dn())===u&&(o=null),Qt=n,n=St(e,o)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o;return n=Kt,t.substr(Kt,2)===g?(r=g,Kt+=2):(r=u,0===rn&&un(W)),r!==u?(An(),(e=bn())!==u?(An(),(o=dn())===u&&(o=null),Qt=n,n=Pt(e,o)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o;return n=Kt,t.substr(Kt,7)===b?(r=b,Kt+=7):(r=u,0===rn&&un(H)),r!==u?(An(),(e=bn())!==u?(An(),(o=dn())===u&&(o=null),Qt=n,n=Et(e,o)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o;return n=Kt,t.substr(Kt,12)===x?(r=x,Kt+=12):(r=u,0===rn&&un(J)),r!==u?(An(),(e=bn())!==u?(An(),(o=dn())===u&&(o=null),Qt=n,n=Ct(e,o)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e;return n=Kt,t.substr(Kt,5)===w?(r=w,Kt+=5):(r=u,0===rn&&un(K)),r!==u?(An(),(e=dn())===u&&(e=null),Qt=n,n=Ft(e)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e;return n=Kt,t.substr(Kt,6)===A?(r=A,Kt+=6):(r=u,0===rn&&un(Q)),r!==u?(An(),(e=dn())===u&&(e=null),Qt=n,n=Tt(e)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e;return n=Kt,t.substr(Kt,6)===k?(r=k,Kt+=6):(r=u,0===rn&&un(X)),r!==u?(An(),(e=dn())===u&&(e=null),Qt=n,n=Rt(e)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e;return n=Kt,t.substr(Kt,5)===O?(r=O,Kt+=5):(r=u,0===rn&&un(nt)),r!==u?(An(),(e=dn())===u&&(e=null),Qt=n,n=Dt(e)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o;return n=Kt,t.substr(Kt,6)===S?(r=S,Kt+=6):(r=u,0===rn&&un(rt)),r!==u?(An(),(e=bn())!==u?(An(),(o=dn())===u&&(o=null),Qt=n,n=Mt(e,o)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r;return n=Kt,t.substr(Kt,3)===j?(r=j,Kt+=3):(r=u,0===rn&&un(tt)),r!==u&&(Qt=n,r=zt()),r}())===u&&(n=function(){var n,r,e;return n=Kt,t.substr(Kt,7)===P?(r=P,Kt+=7):(r=u,0===rn&&un(et)),r!==u?(An(),(e=dn())===u&&(e=null),Qt=n,n=It(e)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o,c;return n=Kt,t.substr(Kt,10)===d?(r=d,Kt+=10):(r=u,0===rn&&un(Y)),r!==u?(An(),123===t.charCodeAt(Kt)?(e=p,Kt++):(e=u,0===rn&&un(Z)),e!==u?(An(),o=function(){var t,n,r;for(t=Kt,n=[],r=hn();r!==u;)n.push(r),r=hn();return Qt=t,n=kt(n)}(),An(),125===t.charCodeAt(Kt)?(c=v,Kt++):(c=u,0===rn&&un(V)),c!==u?(Qt=n,n=At(o)):(Kt=n,n=u)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o,c;return n=Kt,64===t.charCodeAt(Kt)?(r=y,Kt++):(r=u,0===rn&&un(q)),r!==u?(An(),(e=wn())!==u?(An(),(o=wn())===u&&(o=null),An(),(c=dn())===u&&(c=null),Qt=n,n=Ot(e,o,c)):(Kt=n,n=u)):(Kt=n,n=u),n}()),n}function hn(){var t,n;return t=Kt,An(),(n=yn())===u&&(n=sn()),n!==u?(An(),mn(),An(),Qt=t,t=jt(n)):(Kt=t,t=u),t}function dn(){var n,r,e,o;return n=Kt,123===t.charCodeAt(Kt)?(r=p,Kt++):(r=u,0===rn&&un(Z)),r!==u?(An(),e=pn(),An(),125===t.charCodeAt(Kt)?(o=v,Kt++):(o=u,0===rn&&un(V)),o!==u?(Qt=n,n=Ut(e)):(Kt=n,n=u)):(Kt=n,n=u),n}function pn(){var t,n,r;for(t=Kt,n=[],r=vn();r!==u;)n.push(r),r=vn();return Qt=t,$t(n)}function vn(){var t,n;return t=Kt,An(),(n=yn())!==u?(An(),mn(),An(),Qt=t,t=Lt(n)):(Kt=t,t=u),t}function yn(){var n,r,e,o;return n=Kt,(r=wn())!==u?(An(),58===t.charCodeAt(Kt)?(e=E,Kt++):(e=u,0===rn&&un(ot)),e!==u?(An(),(o=gn())!==u?(Qt=n,n=Gt(r,o)):(Kt=n,n=u)):(Kt=n,n=u)):(Kt=n,n=u),n}function mn(){var n;return n=t.charAt(Kt),I.test(n)?Kt++:(n=u,0===rn&&un(ct)),n}function gn(){var n;return(n=function(){var n,r,e,o;if(n=Kt,35===t.charCodeAt(Kt)?(r=R,Kt++):(r=u,0===rn&&un(ut)),r!==u){if(e=[],o=t.charAt(Kt),U.test(o)?Kt++:(o=u,0===rn&&un(ft)),o!==u)for(;o!==u;)e.push(o),o=t.charAt(Kt),U.test(o)?Kt++:(o=u,0===rn&&un(ft));else e=u;e!==u?(Qt=n,n=Zt(e)):(Kt=n,n=u)}else Kt=n,n=u;return n}())===u&&(n=function(){var n,r,e,o;return n=Kt,123===t.charCodeAt(Kt)?(r=p,Kt++):(r=u,0===rn&&un(Z)),r!==u?(An(),(e=pn())!==u?(An(),125===t.charCodeAt(Kt)?(o=v,Kt++):(o=u,0===rn&&un(V)),o!==u?(Qt=n,n=Yt(e)):(Kt=n,n=u)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=function(){var n,r,e,o;return n=Kt,91===t.charCodeAt(Kt)?(r=C,Kt++):(r=u,0===rn&&un(at)),r!==u?(An(),e=function(){var n,r,e,o,c,a,i,l;if(n=Kt,(r=gn())!==u){for(e=[],o=Kt,c=An(),44===t.charCodeAt(Kt)?(a=T,Kt++):(a=u,0===rn&&un(lt)),a!==u?(i=An(),(l=gn())!==u?o=c=[c,a,i,l]:(Kt=o,o=u)):(Kt=o,o=u);o!==u;)e.push(o),o=Kt,c=An(),44===t.charCodeAt(Kt)?(a=T,Kt++):(a=u,0===rn&&un(lt)),a!==u?(i=An(),(l=gn())!==u?o=c=[c,a,i,l]:(Kt=o,o=u)):(Kt=o,o=u);Qt=n,n=Bt(r,e)}else Kt=n,n=u;return n}(),e===u&&(e=null),An(),93===t.charCodeAt(Kt)?(o=F,Kt++):(o=u,0===rn&&un(it)),o!==u?(Qt=n,n=_t(e)):(Kt=n,n=u)):(Kt=n,n=u),n}())===u&&(n=bn())===u&&(n=function(){var n,r,e,o,c;if(n=Kt,(r=xn())!==u)if(46===t.charCodeAt(Kt)?(e=D,Kt++):(e=u,0===rn&&un(dt)),e!==u){if(o=[],c=t.charAt(Kt),L.test(c)?Kt++:(c=u,0===rn&&un(pt)),c!==u)for(;c!==u;)o.push(c),c=t.charAt(Kt),L.test(c)?Kt++:(c=u,0===rn&&un(pt));else o=u;o!==u?(Qt=n,n=Nt(r,o)):(Kt=n,n=u)}else Kt=n,n=u;else Kt=n,n=u;return n}())===u&&(n=function(){var n,r,e;return n=Kt,(r=xn())!==u?(e=function(){var n,r;return n=Kt,t.substr(Kt,2)===M?(r=M,Kt+=2):(r=u,0===rn&&un(vt)),r!==u&&(Qt=n,r=Ht()),r}(),e===u&&(e=null),Qt=n,n=qt(r,e)):(Kt=n,n=u),n}())===u&&(n=xn()),n}function bn(){var n,r,e,o;if(n=Kt,34===t.charCodeAt(Kt)?(r=z,Kt++):(r=u,0===rn&&un(st)),r!==u){for(e=[],o=t.charAt(Kt),$.test(o)?Kt++:(o=u,0===rn&&un(ht));o!==u;)e.push(o),o=t.charAt(Kt),$.test(o)?Kt++:(o=u,0===rn&&un(ht));34===t.charCodeAt(Kt)?(o=z,Kt++):(o=u,0===rn&&un(st)),o!==u?(Qt=n,n=Vt(e)):(Kt=n,n=u)}else Kt=n,n=u;return n}function xn(){var n,r,e;if(n=Kt,r=[],e=t.charAt(Kt),L.test(e)?Kt++:(e=u,0===rn&&un(pt)),e!==u)for(;e!==u;)r.push(e),e=t.charAt(Kt),L.test(e)?Kt++:(e=u,0===rn&&un(pt));else r=u;return r!==u&&(Qt=n,r=Wt(r)),r}function wn(){var n,r,e,o;if(n=Kt,r=t.charAt(Kt),G.test(r)?Kt++:(r=u,0===rn&&un(yt)),r!==u){for(e=[],o=t.charAt(Kt),_.test(o)?Kt++:(o=u,0===rn&&un(mt));o!==u;)e.push(o),o=t.charAt(Kt),_.test(o)?Kt++:(o=u,0===rn&&un(mt));Qt=n,n=Jt()}else Kt=n,n=u;return n}function An(){var n,r;for(rn++,n=[],r=t.charAt(Kt),B.test(r)?Kt++:(r=u,0===rn&&un(bt));r!==u;)n.push(r),r=t.charAt(Kt),B.test(r)?Kt++:(r=u,0===rn&&un(bt));return rn--,r=u,0===rn&&un(gt),n}if(r=h(),n.peg$library)return{peg$result:r,peg$currPos:Kt,peg$FAILED:u,peg$maxFailExpected:nn,peg$maxFailPos:tn};if(r!==u&&Kt===t.length)return r;throw r!==u&&Kt<t.length&&un({type:"end"}),o=nn,a=tn<t.length?t.charAt(tn):null,l=tn<t.length?ln(tn,tn+1):ln(tn,tn),new i(i.buildMessage(o,a),o,a,l)}}}},n={},function r(e){var o=n[e];if(void 0!==o)return o.exports;var c=n[e]={exports:{}};return t[e](c,c.exports,r),c.exports}(458);var t,n}));