From 89b54f64fa3017e31b60e60b486ec0b0c012f1fe Mon Sep 17 00:00:00 2001 From: jaywcjlove Date: Sat, 10 Dec 2022 01:11:33 +0000 Subject: [PATCH] v4.19.1 fix(theme): Highlight components with green (#429) VS Code highlights React components with green cbb7c7a99ae131e4486b8d7720e4d817f402150a --- asset-manifest.json | 6 +++--- coverage/lcov-report/index.html | 2 +- coverage/lcov-report/src/index.html | 2 +- coverage/lcov-report/src/index.tsx.html | 2 +- coverage/lcov-report/src/theme/index.html | 2 +- coverage/lcov-report/src/theme/light.ts.html | 2 +- coverage/lcov-report/src/useCodeMirror.ts.html | 2 +- coverage/lcov-report/src/utils.ts.html | 2 +- index.html | 2 +- static/js/main.14784b48.js | 3 +++ ...52fce3e9.js.LICENSE.txt => main.14784b48.js.LICENSE.txt} | 0 static/js/main.14784b48.js.map | 1 + static/js/main.52fce3e9.js | 3 --- static/js/main.52fce3e9.js.map | 1 - 14 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 static/js/main.14784b48.js rename static/js/{main.52fce3e9.js.LICENSE.txt => main.14784b48.js.LICENSE.txt} (100%) create mode 100644 static/js/main.14784b48.js.map delete mode 100644 static/js/main.52fce3e9.js delete mode 100644 static/js/main.52fce3e9.js.map diff --git a/asset-manifest.json b/asset-manifest.json index f9ca454e0..aa8621383 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "/react-codemirror/static/css/main.456804b0.css", - "main.js": "/react-codemirror/static/js/main.52fce3e9.js", + "main.js": "/react-codemirror/static/js/main.14784b48.js", "static/js/9078.f32f87c1.chunk.js": "/react-codemirror/static/js/9078.f32f87c1.chunk.js", "static/js/8951.f87c784a.chunk.js": "/react-codemirror/static/js/8951.f87c784a.chunk.js", "static/js/3699.5b09b427.chunk.js": "/react-codemirror/static/js/3699.5b09b427.chunk.js", @@ -85,7 +85,7 @@ "index.html": "/react-codemirror/index.html", "static/media/index.cjs": "/react-codemirror/static/media/index.755133ce737dc6d487ae.cjs", "main.456804b0.css.map": "/react-codemirror/static/css/main.456804b0.css.map", - "main.52fce3e9.js.map": "/react-codemirror/static/js/main.52fce3e9.js.map", + "main.14784b48.js.map": "/react-codemirror/static/js/main.14784b48.js.map", "9078.f32f87c1.chunk.js.map": "/react-codemirror/static/js/9078.f32f87c1.chunk.js.map", "8951.f87c784a.chunk.js.map": "/react-codemirror/static/js/8951.f87c784a.chunk.js.map", "3699.5b09b427.chunk.js.map": "/react-codemirror/static/js/3699.5b09b427.chunk.js.map", @@ -172,6 +172,6 @@ "static/js/refractor-vendor.68d65d5c.js", "static/js/react-vendor.a732bbbf.js", "static/css/main.456804b0.css", - "static/js/main.52fce3e9.js" + "static/js/main.14784b48.js" ] } \ No newline at end of file diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 4700bed3a..d50b5cc87 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -116,7 +116,7 @@

All files

\ No newline at end of file +React CodeMirror - CodeMirror component for React.
\ No newline at end of file diff --git a/static/js/main.14784b48.js b/static/js/main.14784b48.js new file mode 100644 index 000000000..e8915de50 --- /dev/null +++ b/static/js/main.14784b48.js @@ -0,0 +1,3 @@ +/*! For license information please see main.14784b48.js.LICENSE.txt */ +!function(){var e={8256:function(e,t,n){"use strict";var r={};n.r(r),n.d(r,{attentionMarkers:function(){return gi},contentInitial:function(){return di},disable:function(){return Pi},document:function(){return pi},flow:function(){return fi},flowInitial:function(){return hi},insideSpan:function(){return $i},string:function(){return mi},text:function(){return Qi}});var O={};function i(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n.r(O),n.d(O,{abcdef:function(){return Gl},abcdefInit:function(){return Nl},androidstudio:function(){return Fl},androidstudioInit:function(){return Dl},atomone:function(){return Ml},atomoneInit:function(){return Ll},aura:function(){return Bl},auraInit:function(){return Jl},bbedit:function(){return Kl},bbeditInit:function(){return Hl},bespin:function(){return tu},bespinInit:function(){return eu},darcula:function(){return ru},darculaInit:function(){return nu},dracula:function(){return iu},draculaInit:function(){return Ou},duotoneDark:function(){return cu},duotoneDarkInit:function(){return su},duotoneLight:function(){return au},duotoneLightInit:function(){return ou},eclipse:function(){return uu},eclipseInit:function(){return lu},githubDark:function(){return fu},githubDarkInit:function(){return hu},githubLight:function(){return du},githubLightInit:function(){return pu},gruvboxDark:function(){return Qu},gruvboxDarkInit:function(){return mu},gruvboxLight:function(){return gu},gruvboxLightInit:function(){return $u},material:function(){return bu},materialDark:function(){return yu},materialDarkInit:function(){return vu},materialInit:function(){return Pu},materialLight:function(){return Tu},materialLightInit:function(){return Su},noctisLilac:function(){return wu},noctisLilacInit:function(){return xu},nord:function(){return ku},nordInit:function(){return Xu},okaidia:function(){return Ru},okaidiaInit:function(){return _u},solarizedDark:function(){return Wu},solarizedDarkInit:function(){return Uu},solarizedLight:function(){return Eu},solarizedLightInit:function(){return Zu},sublime:function(){return Cu},sublimeInit:function(){return qu},tokyoNight:function(){return Yu},tokyoNightDay:function(){return Iu},tokyoNightDayInit:function(){return Vu},tokyoNightInit:function(){return zu},tokyoNightStorm:function(){return ju},tokyoNightStormInit:function(){return Au},vscodeDark:function(){return Gu},vscodeDarkInit:function(){return Nu},xcodeDark:function(){return Mu},xcodeDarkInit:function(){return Lu},xcodeLight:function(){return Fu},xcodeLightInit:function(){return Du}});var o=n(805),a=n(1026),s=n(8133),c=n.t(s,2),l=n(649),u=n(2951),p=n(1976),d=n(7591),h=n(9616),f=n(7597),m=n(6983);var Q,$=n(8119);function g(e,t,n){return g=(0,$.Z)()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var O=new(Function.bind.apply(e,r));return n&&(0,m.Z)(O,n.prototype),O},g.apply(null,arguments)}function P(e){var t="function"===typeof Map?new Map:void 0;return P=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return g(e,arguments,(0,f.Z)(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,m.Z)(r,e)},P(e)}function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function _(e){var t="undefined"!==typeof window&&"undefined"!==typeof window.location&&"null"!==window.location.origin?window.location.origin:window.location.href,n="string"===typeof e?e:X(e);return S(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}function R(e,t,n,r){void 0===r&&(r={});var O=r,i=O.window,o=void 0===i?document.defaultView:i,a=O.v5Compat,s=void 0!==a&&a,c=o.history,l=Q.Pop,u=null;function p(){l=Q.Pop,u&&u({action:l,location:d.location})}var d={get action(){return l},get location(){return e(o,c)},listen:function(e){if(u)throw new Error("A history only accepts one active listener");return o.addEventListener(b,p),u=e,function(){o.removeEventListener(b,p),u=null}},createHref:function(e){return t(o,e)},encodeLocation:function(e){var t=_("string"===typeof e?e:X(e));return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l=Q.Push;var r=w(d.location,e,t);n&&n(r,e);var O=x(r),i=d.createHref(r);try{c.pushState(O,"",i)}catch(a){o.location.assign(i)}s&&u&&u({action:l,location:d.location})},replace:function(e,t){l=Q.Replace;var r=w(d.location,e,t);n&&n(r,e);var O=x(r),i=d.createHref(r);c.replaceState(O,"",i),s&&u&&u({action:l,location:d.location})},go:function(e){return c.go(e)}};return d}function Z(e,t,n){void 0===n&&(n="/");var r=A(("string"===typeof t?k(t):t).pathname||"/",n);if(null==r)return null;var O=E(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(O);for(var i=null,o=0;null==i&&o0&&(S(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),E(e.children,t,a,o)),(null!=e.path||e.index)&&t.push({path:o,score:q(o,e.index),routesMeta:a})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(y||(y={}));var U=/^:\w+$/,W=function(e){return"*"===e};function q(e,t){var n=e.split("/"),r=n.length;return n.some(W)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!W(e)})).reduce((function(e,t){return e+(U.test(t)?3:""===t?1:10)}),r)}function C(e,t){for(var n=e.routesMeta,r={},O="/",i=[],o=0;o and the router will parse it for you.'}function I(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function N(e,t,n,r){var O;void 0===r&&(r=!1),"string"===typeof e?O=k(e):(S(!(O=v({},e)).pathname||!O.pathname.includes("?"),V("?","pathname","search",O)),S(!O.pathname||!O.pathname.includes("#"),V("#","pathname","hash",O)),S(!O.search||!O.search.includes("#"),V("#","search","hash",O)));var i,o=""===e||""===O.pathname,a=o?"/":O.pathname;if(r||null==a)i=n;else{var s=t.length-1;if(a.startsWith("..")){for(var c=a.split("/");".."===c[0];)c.shift(),s-=1;O.pathname=c.join("/")}i=s>=0?t[s]:"/"}var l=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?k(e):e,r=n.pathname,O=n.search,i=void 0===O?"":O,o=n.hash,a=void 0===o?"":o,s=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:s,search:F(i),hash:L(a)}}(O,i),u=a&&"/"!==a&&a.endsWith("/"),p=(o||"."===a)&&n.endsWith("/");return l.pathname.endsWith("/")||!u&&!p||(l.pathname+="/"),l}var G=function(e){return e.join("/").replace(/\/\/+/g,"/")},D=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},F=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},L=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},M=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}(P(Error));var J=(0,p.Z)((function e(t,n,r,O){(0,u.Z)(this,e),void 0===O&&(O=!1),this.status=t,this.statusText=n||"",this.internal=O,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function B(e){return e instanceof J}var H=["post","put","patch","delete"],K=(new Set(H),["get"].concat(H));new Set(K),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var ye,be,Se=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return(0,p.Z)(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?s.createElement(he.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(s.Component);function Te(e){var t=e.routeContext,n=e.match,r=e.children,O=s.useContext(ae);return O&&n.route.errorElement&&(O._deepestRenderedBoundaryId=n.route.id),s.createElement(de.Provider,{value:t},r)}function xe(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,O=null==n?void 0:n.errors;if(null!=O){var i=r.findIndex((function(e){return e.route.id&&(null==O?void 0:O[e.route.id])}));i>=0||S(!1),r=r.slice(0,Math.min(r.length,i+1))}return r.reduceRight((function(e,i,o){var a=i.route.id?null==O?void 0:O[i.route.id]:null,c=n?i.route.errorElement||s.createElement(ve,null):null,l=function(){return s.createElement(Te,{match:i,routeContext:{outlet:e,matches:t.concat(r.slice(0,o+1))}},a?c:void 0!==i.route.element?i.route.element:e)};return n&&(i.route.errorElement||0===o)?s.createElement(Se,{location:n.location,component:c,error:a,children:l()}):l()}),null)}function we(e){var t=s.useContext(ce);return t||S(!1),t}!function(e){e.UseRevalidator="useRevalidator"}(ye||(ye={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(be||(be={}));var Xe;function ke(e){var t=e.to,n=e.replace,r=e.state,O=e.relative;fe()||S(!1);var i=s.useContext(ce),o=Qe();return s.useEffect((function(){i&&"idle"!==i.navigation.state||o(t,{replace:n,state:r,relative:O})})),null}function _e(e){return function(e){var t=s.useContext(de).outlet;return t?s.createElement($e.Provider,{value:e},t):t}(e.context)}function Re(e){S(!1)}function Ze(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,O=void 0===r?null:r,i=e.location,o=e.navigationType,a=void 0===o?Q.Pop:o,c=e.navigator,l=e.static,u=void 0!==l&&l;fe()&&S(!1);var p=n.replace(/^\/*/,"/"),d=s.useMemo((function(){return{basename:p,navigator:c,static:u}}),[p,c,u]);"string"===typeof i&&(i=k(i));var h=i,f=h.pathname,m=void 0===f?"/":f,$=h.search,g=void 0===$?"":$,P=h.hash,v=void 0===P?"":P,y=h.state,b=void 0===y?null:y,T=h.key,x=void 0===T?"default":T,w=s.useMemo((function(){var e=A(m,p);return null==e?null:{pathname:e,search:g,hash:v,state:b,key:x}}),[p,m,g,v,b,x]);return null==w?null:s.createElement(ue.Provider,{value:d},s.createElement(pe.Provider,{children:O,value:{location:w,navigationType:a}}))}function Ee(e){var t=e.children,n=e.location,r=s.useContext(se);return function(e,t){fe()||S(!1);var n,r=s.useContext(ue).navigator,O=s.useContext(ce),i=s.useContext(de).matches,o=i[i.length-1],a=o?o.params:{},c=(o&&o.pathname,o?o.pathnameBase:"/"),l=(o&&o.route,me());if(t){var u,p="string"===typeof t?k(t):t;"/"===c||(null==(u=p.pathname)?void 0:u.startsWith(c))||S(!1),n=p}else n=l;var d=n.pathname||"/",h=Z(e,{pathname:"/"===c?d:d.slice(c.length)||"/"}),f=xe(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},a,e.params),pathname:G([c,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:G([c,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),i,O||void 0);return t&&f?s.createElement(pe.Provider,{value:{location:ee({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:Q.Pop}},f):f}(r&&!t?r.router.routes:We(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Xe||(Xe={}));var Ue=new Promise((function(){}));s.Component;function We(e,t){void 0===t&&(t=[]);var n=[];return s.Children.forEach(e,(function(e,r){if(s.isValidElement(e))if(e.type!==s.Fragment){e.type!==Re&&S(!1),e.props.index&&e.props.children&&S(!1);var O=[].concat((0,l.Z)(t),[r]),i={id:e.props.id||O.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(i.children=We(e.props.children,O)),n.push(i)}else n.push.apply(n,We(e.props.children,t))})),n}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(O[n]=e[n]);return O}var ze=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Ye=["aria-current","caseSensitive","className","end","style","to","children"];function Ae(e){var t,n=e.basename,r=e.children,O=e.window,i=s.useRef();null==i.current&&(i.current=(void 0===(t={window:O,v5Compat:!0})&&(t={}),R((function(e,t){var n=k(e.location.hash.substr(1)),r=n.pathname,O=void 0===r?"/":r,i=n.search,o=void 0===i?"":i,a=n.hash;return w("",{pathname:O,search:o,hash:void 0===a?"":a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var O=e.location.href,i=O.indexOf("#");r=-1===i?O:O.slice(0,i)}return r+"#"+("string"===typeof t?t:X(t))}),(function(e,t){T("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),t)));var o=i.current,c=s.useState({action:o.action,location:o.location}),l=(0,a.Z)(c,2),u=l[0],p=l[1];return s.useLayoutEffect((function(){return o.listen(p)}),[o]),s.createElement(Ze,{basename:n,children:r,location:u.location,navigationType:u.action,navigator:o})}var je=s.forwardRef((function(e,t){var n=e.onClick,r=e.relative,O=e.reloadDocument,i=e.replace,o=e.state,a=e.target,c=e.to,l=e.preventScrollReset,u=Ce(e,ze),p=function(e,t){var n=(void 0===t?{}:t).relative;fe()||S(!1);var r=s.useContext(ue),O=r.basename,i=r.navigator,o=Pe(e,{relative:n}),a=o.hash,c=o.pathname,l=o.search,u=c;return"/"!==O&&(u="/"===c?O:G([O,c])),i.createHref({pathname:u,search:l,hash:a})}(c,{relative:r}),d=function(e,t){var n=void 0===t?{}:t,r=n.target,O=n.replace,i=n.state,o=n.preventScrollReset,a=n.relative,c=Qe(),l=me(),u=Pe(e,{relative:a});return s.useCallback((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==O?O:X(l)===X(u);c(e,{replace:n,state:i,preventScrollReset:o,relative:a})}}),[l,c,u,O,i,r,e,o,a])}(c,{replace:i,state:o,target:a,preventScrollReset:l,relative:r});return s.createElement("a",qe({},u,{href:p,onClick:O?n:function(e){n&&n(e),e.defaultPrevented||d(e)},ref:t,target:a}))}));var Ve=s.forwardRef((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,O=e.caseSensitive,i=void 0!==O&&O,o=e.className,a=void 0===o?"":o,c=e.end,l=void 0!==c&&c,u=e.style,p=e.to,d=e.children,h=Ce(e,Ye),f=Pe(p,{relative:h.relative}),m=me(),Q=s.useContext(ce),$=s.useContext(ue).navigator,g=$.encodeLocation?$.encodeLocation(f).pathname:f.pathname,P=m.pathname,v=Q&&Q.navigation&&Q.navigation.location?Q.navigation.location.pathname:null;i||(P=P.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase());var y,b=P===g||!l&&P.startsWith(g)&&"/"===P.charAt(g.length),S=null!=v&&(v===g||!l&&v.startsWith(g)&&"/"===v.charAt(g.length)),T=b?r:void 0;y="function"===typeof a?a({isActive:b,isPending:S}):[a,b?"active":null,S?"pending":null].filter(Boolean).join(" ");var x="function"===typeof u?u({isActive:b,isPending:S}):u;return s.createElement(je,qe({},h,{"aria-current":T,className:y,ref:t,style:x,to:p}),"function"===typeof d?d({isActive:b,isPending:S}):d)}));var Ie,Ne;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Ie||(Ie={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Ne||(Ne={}));n(390);var Ge=n(2471),De=n(7361),Fe=n.n(De);var Le=function(e){function t(e,r,s,c,p){for(var d,h,f,m,P,y=0,b=0,S=0,T=0,x=0,Z=0,U=f=d=0,q=0,C=0,z=0,Y=0,A=s.length,j=A-1,V="",I="",N="",G="";qd)&&(Y=(V=V.replace(" ",":")).length),0r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(m,"$1"+e.trim());case 58:return e.trim()+t.replace(m,"$1"+e.trim());default:if(0<1*n&&0s.charCodeAt(8))break;case 115:o=o.replace(s,"-webkit-"+s)+";"+o;break;case 207:case 102:o=o.replace(s,"-webkit-"+(102r.charCodeAt(0)&&(r=r.trim()),r=[r],01?t-1:0),r=1;r0?" Args: "+n.join(", "):""))}var dt=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,O=r;e>=O;)(O<<=1)<0&&pt(16,""+e);this.groupSizes=new Uint32Array(O),this.groupSizes.set(n),this.length=O;for(var i=r;i=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),O=r+n,i=r;i=mt&&(mt=t+1),ht.set(e,t),ft.set(t,e)},Pt="style["+st+'][data-styled-version="5.3.6"]',vt=new RegExp("^"+st+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),yt=function(e,t,n){for(var r,O=n.split(","),i=0,o=O.length;i=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(st))return r}}(n),i=void 0!==O?O.nextSibling:null;r.setAttribute(st,"active"),r.setAttribute("data-styled-version","5.3.6");var o=St();return o&&r.setAttribute("nonce",o),n.insertBefore(r,i),r},xt=function(){function e(e){var t=this.element=Tt(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+",")})),r+=""+a+s+'{content:"'+c+'"}/*!sc*/\n'}}}return r}(this)},e}(),Zt=/(a)(d)/gi,Et=function(e){return String.fromCharCode(e+(e>25?39:97))};function Ut(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Et(t%52)+n;return(Et(t%52)+n).replace(Zt,"$1-$2")}var Wt=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},qt=function(e){return Wt(5381,e)};function Ct(e){for(var t=0;t>>0);if(!t.hasNameForId(r,o)){var a=n(i,"."+o,void 0,r);t.insertRules(r,o,a)}O.push(o),this.staticRulesId=o}else{for(var s=this.rules.length,c=Wt(this.baseHash,n.hash),l="",u=0;u>>0);if(!t.hasNameForId(r,f)){var m=n(l,"."+f,void 0,r);t.insertRules(r,f,m)}O.push(f)}}return O.join(" ")},e}(),At=/^\s*\/\/.*$/gm,jt=[":","[",".","#"];function Vt(e){var t,n,r,O,i=void 0===e?Ot:e,o=i.options,a=void 0===o?Ot:o,s=i.plugins,c=void 0===s?rt:s,l=new Le(a),u=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,O,i,o,a,s,c,l,u){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===c)return r+"/*|*/";break;case 3:switch(c){case 102:case 112:return e(O[0]+r),"";default:return r+(0===u?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){u.push(e)})),d=function(e,r,i){return 0===r&&-1!==jt.indexOf(i[n.length])||i.match(O)?e:"."+t};function h(e,i,o,a){void 0===a&&(a="&");var s=e.replace(At,""),c=i&&o?o+" "+i+" { "+s+" }":s;return t=a,n=i,r=new RegExp("\\"+n+"\\b","g"),O=new RegExp("(\\"+n+"\\b){2,}"),l(o||!i?"":i,c)}return l.use([].concat(c,[function(e,t,O){2===e&&O.length&&O[0].lastIndexOf(n)>0&&(O[0]=O[0].replace(r,d))},p,function(e){if(-2===e){var t=u;return u=[],t}}])),h.hash=c.length?c.reduce((function(e,t){return t.name||pt(15),Wt(e,t.name)}),5381).toString():"",h}var It=s.createContext(),Nt=(It.Consumer,s.createContext()),Gt=(Nt.Consumer,new Rt),Dt=Vt();function Ft(){return(0,s.useContext)(It)||Gt}function Lt(){return(0,s.useContext)(Nt)||Dt}function Mt(e){var t=(0,s.useState)(e.stylisPlugins),n=t[0],r=t[1],O=Ft(),i=(0,s.useMemo)((function(){var t=O;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),o=(0,s.useMemo)((function(){return Vt({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return(0,s.useEffect)((function(){Fe()(n,e.stylisPlugins)||r(e.stylisPlugins)}),[e.stylisPlugins]),s.createElement(It.Provider,{value:i},s.createElement(Nt.Provider,{value:o},e.children))}var Jt=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=Dt);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return pt(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=Dt),this.name+e.hash},e}(),Bt=/([A-Z])/,Ht=/([A-Z])/g,Kt=/^ms-/,en=function(e){return"-"+e.toLowerCase()};function tn(e){return Bt.test(e)?e.replace(Ht,en).replace(Kt,"-ms-"):e}var nn=function(e){return null==e||!1===e||""===e};function rn(e,t,n,r){if(Array.isArray(e)){for(var O,i=[],o=0,a=e.length;o1?t-1:0),r=1;r?@[\\\]^`{|}~-]+/g,cn=/(^-|-$)/g;function ln(e){return e.replace(sn,"-").replace(cn,"")}var un=function(e){return Ut(qt(e)>>>0)};function pn(e){return"string"==typeof e&&!0}var dn=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},hn=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function fn(e,t,n){var r=e[n];dn(t)&&dn(r)?mn(r,t):e[n]=t}function mn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(O[n]=e[n]);return O}(t,["componentId"]),i=r&&r+"-"+(pn(e)?e:ln(ot(e)));return gn(e,et({},O,{attrs:d,componentId:i}),n)},Object.defineProperty(f,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=r?mn({},e.defaultProps,t):t}}),f.toString=function(){return"."+f.styledComponentId},O&&Ke()(f,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),f}var Pn=function(e){return function e(t,n,r){if(void 0===r&&(r=Ot),!(0,Ge.isValidElementType)(n))return pt(1,String(n));var O=function(){return t(n,r,on.apply(void 0,arguments))};return O.withConfig=function(O){return e(t,n,et({},r,{},O))},O.attrs=function(O){return e(t,n,et({},r,{attrs:Array.prototype.concat(r.attrs,O).filter(Boolean)}))},O}(gn,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Pn[e]=Pn(e)}));var vn=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ct(e),Rt.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var O=r(rn(this.rules,t,n,r).join(""),""),i=this.componentId+e;n.insertRules(i,i,O)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Rt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();!function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=St();return""},this.getStyleTags=function(){return e.sealed?pt(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return pt(2);var n=((t={})[st]="",t["data-styled-version"]="5.3.6",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),r=St();return r&&(n.nonce=r),[s.createElement("style",et({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new Rt({isServer:!0}),this.sealed=!1}var t=e.prototype;t.collectStyles=function(e){return this.sealed?pt(2):s.createElement(Mt,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return pt(3)}}();var yn=Pn,bn=n(5773),Sn=n(808),Tn=document.createElement("template");Tn.innerHTML='\n\n\n';var xn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){var e;return(0,u.Z)(this,n),(e=t.call(this)).right="0",e.shadow=e.attachShadow({mode:"open"}),e.shadow.appendChild(e.ownerDocument.importNode(Tn.content,!0)),e.update(),e}return(0,p.Z)(n,[{key:"setAttr",value:function(e,t){var n=this.shadow.querySelector("svg");/(href)/.test(e.toLocaleLowerCase())?n.lastElementChild.setAttribute("xlink:href",t):/(color|fill)/.test(e.toLocaleLowerCase())?n.firstElementChild.style[e]=t:/(z-index|position|top|left|right|bottom|transform)/.test(e.toLocaleLowerCase())?n.style[e]=t:n.setAttribute(e,t)}},{key:"update",value:function(){var e=this;[].concat((0,l.Z)(this.getAttributeNames()),["right"]).forEach((function(t){var n=e.getAttribute(t)||e[t]||"";e.setAttr(t,n)}))}},{key:"attributeChangedCallback",value:function(e,t,n){t!==n&&this.setAttr(e,n)}}],[{key:"observedAttributes",get:function(){return["style","z-index","target","height","width","href","color","fill","position","top","left","right","bottom","transform"]}}]),n}(P(HTMLElement));customElements.define("github-corners",xn);var wn=n(9265),Xn=["size","fixed","bottom","zIndex","className","style","bgColor","color","position"];function kn(e){var t=e.size,n=void 0===t?80:t,r=e.fixed,O=void 0!==r&&r,i=e.bottom,o=e.zIndex,a=e.style,s=e.bgColor,c=void 0===s?"#151513":s,l=e.color,u=void 0===l?"#fff":l,p=e.position,d=void 0===p?"right":p,h=(0,Sn.Z)(e,Xn),f="left"===d?{left:0,right:"initial",transform:"scale(-1, 1)"}:{right:0,left:"initial",transform:"scale(1, 1)"};return i?(f.bottom=0,f.top="initial",f.transform="left"===d?"scale(-1, -1)":"scale(1, -1)"):(f.bottom="initial",f.top=0),(0,wn.jsx)("github-corners",(0,bn.Z)({target:"__blank",width:n,height:n,href:e.href,position:O?"fixed":"absolute","z-index":o,style:a,fill:c,color:u},f,h))}var _n=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n,[{key:"render",value:function(){var e=this;return(0,wn.jsx)(wn.Fragment,{children:s.Children.toArray(this.props.children).map((function(t){return s.isValidElement(t)?s.cloneElement(t,(0,bn.Z)({},e.props,t.props)):null}))})}}]),n}(s.Component),Rn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e,r,O){var i;return(0,u.Z)(this,n),(i=t.call(this,e)).getUrl=function(){return""},i.state=Object.assign({},(0,bn.Z)({},r,e),O),i}return(0,p.Z)(n,[{key:"render",value:function(){var e=this.state.href;return e?(0,wn.jsxs)("a",{href:e,children:[" ",(0,wn.jsx)("img",{alt:"",src:this.getUrl()})," "]}):(0,wn.jsx)("img",{alt:"",src:this.getUrl()})}}]),n}(s.Component);Rn.defaultProps={platform:"github",base:"https://img.shields.io"};var Zn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"issues"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.property,i=e.user,o=e.repo,a=e.label,s=e.base;return"github"!==n?"":"issues"===t||/^issues-(raw|closed|closed-raw|pr|pr-raw|pr-closed|pr-closed-raw)/.test(t)?a&&("issues"===t||/^issues-(raw|pr|pr-raw)/.test(t||""))?[s,n,t,i,o,a].join("/"):[s,n,t,i,o].join("/"):"issueKind"===t?[s,n,t,"detail",O,i,o].join("/"):""},r}return(0,p.Z)(n)}(Rn),En=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"languages"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.path;return"github"!==n?"":"languages"===t?[o,n,t,"code-size",O,i].join("/"):"repo-size"===t?[o,n,t,O,i].join("/"):"size"===t&&a?[o,n,t,O,i,a].join("/"):""},r}return(0,p.Z)(n)}(Rn),Un=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"downloads",total:!0})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.tag,s=e.path,c=e.total;if("github"!==n||!/^(downloads|downloads-pre)/.test(t||""))return"";var l=[o,n,t,O,i];return s&&a?[].concat(l,[a,s]).join("/"):c&&a||"downloads-pre"===t&&a&&c?[].concat(l,[a,"total"]).join("/"):c?[].concat(l,["total"]).join("/"):""},r}return(0,p.Z)(n)}(Rn),Wn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"commits-since"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.interval,s=e.variant,c=e.version,l=e.branch;return"github"!==n?"":"commits-since"===t&&c&&l?[o,n,t,O,i,c,l].join("/"):"commit-activity"===t&&a?[o,n,t,a,O,i].join("/"):"variant"===t&&s?[o,n,t,s,O,i].join("/"):"last-commit"===t?l?[o,n,t,O,i,l].join("/"):[o,n,t,O,i].join("/"):t&&/^release-(date|date-pre)/.test(t)?[o,n,t,O,i].join("/"):""},r}return(0,p.Z)(n)}(Rn),qn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"version-release"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.branch,s="";switch(t){case"version-release":s="v/release";break;case"version-tag":s="v/tag";break;case"package-json":s="package-json/v";break;case"manifest-json":s="manifest-json/v";break;case"go-mod":s="go-mod/go-version"}if("github"!==n||!s)return"";var c=[o,n,s,O,i];return/(go-mod|manifest-json|package-json)/.test(t||"")&&a?[].concat(c,[a]).join("/"):c.join("/")},r}return(0,p.Z)(n)}(Rn),Cn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"license"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base;return"github"!==n?"":[o,n,t,O,i].join("/")},r}return(0,p.Z)(n)}(Rn),zn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"languages-count"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.type,i=e.user,o=e.repo,a=e.query,s="";switch(O){case"languages-count":s="languages/count";break;case"languages-top":s="languages/top";break;case"search":s="search"}if("github"!==n||!s)return"";var c=[t,n,s,i,o];return a?[].concat(c,[a]).join("/"):c.join("/")},r}return(0,p.Z)(n)}(Rn),Yn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"followers"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base;return"github"!==n?"":"followers"===t?[o,n,t,O].join("/"):[o,n,t,O,i].join("/")},r}return(0,p.Z)(n)}(Rn),An=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}(_n);An.Issues=Zn,An.Size=En,An.Activity=Wn,An.Downloads=Un,An.Version=qn,An.License=Cn,An.Analysis=zn,An.Social=Yn;var jn=An,Vn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{type:"version"},{platform:"npm"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.type,i=e.scope,o=e.packageName,a=e.dependency,s=e.dependencyScope,c=e.version,l=e.registryUri;if("npm"!==n||!o)return"";var u="",p=[t,n];return"version"===O&&o?(p.push("v"),i&&p.push(i),p.push(o),c&&p.push(c),u=p.join("/"),l&&(u=u+"?registry_uri="+l)):"peer-dependency"===O&&o&&a?(p.push("dependency-version"),i&&p.push(i),u=[].concat(p,[o,"peer",a]).join("/")):"dev-dependency"===O&&o&&a?(p.push("dependency-version"),i&&p.push(i),p.concat([o,"dev"]),s&&p.push(s),p.push(a),u=p.join("/")):o&&a&&(p.concat([o,a]),u=p.join("/")),u},r}return(0,p.Z)(n)}(Rn),In=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{format:"min"},{platform:"npm"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.format,i=e.packageName,o=e.scope,a=e.version;if("npm"!==n)return"";var s=[t,"bundlephobia"],c="";return i&&O&&(c=[].concat(s,[O,i]).join("/")),i&&O&&o&&(c=[].concat(s,[O,o,i]).join("/")),i&&O&&o&&a&&(c=[].concat(s,[O,o,i,a]).join("/")),i&&O&&a&&(c=[].concat(s,[O,i,a]).join("/")),c},r}return(0,p.Z)(n)}(Rn),Nn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}(_n);Nn.Version=Vn,Nn.Size=In;var Gn=Nn,Dn=["className","prefixCls","element","top","size","strokeWidth","smooth","hideProgress","children"],Fn={position:"sticky",bottom:15,right:15,visibility:"visible",opacity:0,transition:"visibility 0.3s linear 0s, opacity 0.3s linear 0s",cursor:"pointer",userSelect:"none"},Ln={display:"block",transform:"rotate(-90deg)"},Mn={transition:"stroke-dashoffset 0.3s linear 0s"},Jn={position:"absolute",top:0,display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:12},Bn=document.documentElement;function Hn(e){void 0===e&&(e={});var t=e,n=t.className,r=t.prefixCls,O=void 0===r?"w-back-to-up":r,i=t.element,o=void 0===i?Bn:i,c=t.top,l=void 0===c?120:c,u=t.size,p=void 0===u?35:u,d=t.strokeWidth,h=void 0===d?3:d,f=t.smooth,m=void 0===f||f,Q=t.hideProgress,$=void 0!==Q&&Q,g=t.children,P=(0,Sn.Z)(e,Dn),v=(0,s.useRef)(null),y=[n,O].filter(Boolean).join(" "),b=Object.assign({},Fn,{position:o===Bn?"fixed":"sticky"},P.style,{width:p,height:p,opacity:0===l?1:0}),S=(0,s.useMemo)((function(){return p/2}),[p]),T=(0,s.useMemo)((function(){return p/2-h/2}),[p,h]),x=(0,s.useMemo)((function(){return Math.PI*T*2}),[T]),w=(0,s.useState)(x||0),X=(0,a.Z)(w,2),k=X[0],_=X[1],R=function(e){var t=o||Bn,n=t.clientHeight,r=t.scrollHeight,O=t.scrollTop;_(x-x*(O/(r-n))),v.current&&l>0&&(v.current.style.opacity=O>l?"1":"0")};(0,s.useEffect)((function(){var e=o===Bn?document:o;return e&&e.addEventListener("scroll",R,{passive:!0}),function(){e&&e.removeEventListener("scroll",R)}}),[o]);return(0,wn.jsxs)("div",(0,bn.Z)({className:y,ref:v},P,{onClick:function(e){o.scrollTo({top:0,behavior:m?"smooth":"auto"})},style:b,children:[!$&&(0,wn.jsxs)("svg",{viewBox:"0 0 "+p+" "+p,width:p,height:p,focusable:"false",style:Ln,children:[(0,wn.jsx)("circle",{fill:"rgb(0 0 0 / 75%)",stroke:"rgb(200 200 200 / 85%)",strokeWidth:h,r:T,cx:S,cy:S}),(0,wn.jsx)("circle",{fill:"none",stroke:"rgb(0 0 0 / 50%)",strokeWidth:h,r:T,cx:S,cy:S,strokeDasharray:x,strokeDashoffset:k,style:Mn})]}),g&&(0,wn.jsx)("div",{style:Jn,children:g})]}))}var Kn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAABpCAYAAAAN+8wmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAKOAAACjgH/xBOOAAAAB3RJTUUH3goUFDELO4vaAAAAIABJREFUeNrtnXd8VEXXx79zdze9kAABKVIUabsLIUEEBKSFEhBrQAhFQfTlUVBBUUCf18IDNlCkC4iF3osQpImFRyEQsrsEFGmhSktPNtnsnfePbMImJCFlA4HX8/nsJ9mZ2Tv3zu/OzDlnThFSSu4WEkKIls2btbYj+oDSTAjpKSSeUuApJZ4gPUFYQcRIKQ+gsMdsNpvu+Oe+00Fs1KiRn7e7e5iK0kdRRLiqqtVKeYlYkF+jKItNJlPCPyDeYtLr9YEaqekghN3LLoQ2wDfAe9ToUbOsVqty9uxZzp07x7kzZ7lw4QKZmZk3u9wlIZWXYg/HrvoHxNtIRr3Be+PmTb/Xr1+/uXO5lJLTp0/zyy+/8Ouen9l/IJqsrKwilmTW2+z2UXFxcRf+AfH2gPjoV18vnhoSEtK0uHZWq5Xf9v6X5UuXsfe3/xbWJFEKxprN5kV3wnMr3F3UNyUlxfdmjTw8PHikS2fmLpjPqjWrCe/bB41G49ykipAsNOoNPxiNxoB/QLx1s7An8CyqvKc0v2vcuDFTpkxh4+ZNBIe0KljdHVVuCw0N9f9nOa14APXAr0II359+2iP8A8o2eVRVZfHixcz6YiY2m8256r8qMsxisaT+MxMrBsCawGbAr1mzZtayAgigKArPPfccS5cvo0aNGs5vd1sF8c0/y2nFADhQq9XGAfUAHn/yCU9XXLdx48Z89fViUQDIxw0Gw/B/llPXAKd4eXn19vX1nfL333/rc8sHRg7izTffdGlf586d47lhz6oXLlzIfdlTUUQLk8l04h8QywZeg/r1649JSEgYlpSU5H9drhM8M2gg48ePRwjh8n7PnDnD008+paanpzuAlEtNFsugf0AsOXCtfLy8++vc3QYmJCTUKVjfpVtX/vWvf9GoUaMKvY9tUVt5fdwbefyPFOjNZvORyjJO2koGmg7oJITo5+bmFgEEpaanQXpaXpvadWrRrXsY4eHhNGnS5JbcV4+evfjl171sWLceQNFI/g0M+GcmXgdOAB2BIYqiPKWqql/BNnXr1qV7jzC6d+9O8+bNb8t9ZmRk8Fi/R+0Xzl/UAFJRNcZDcYcs/69BNOoN9wNDgMFA/YL19RvUo1v3MMLCwm7ZjHOWFxXlRsZ906ZNTHxrgmMvZlWs2Rzx/w5Eo95QBejvAK9dwfqgoCB69wmnT58+PPDAA7dlQFRVJTYmluCQ4ELrnnz8SXn8+F8CyFaRdS0Wy8X/F3uiUW94EBgL9APcnet8vLzp2qM7ffr0oXXr1oXOgFtJNpuNPT/vKRRERVEYPXq0GDNmNIBWQRkKfHhXg2jUG9oDbwM9Ctbdf38jBg8dTO/evXF3d680zFViYiIHow8UWd+5a2cCAgJISEgA5KC7FkSj3vAQMBnoUrCuTduHGDp0KO3bt68Qua7cICZc4/Tp00XWZ2VlOZ943HfXiRhGvSEAmAo8D+QhpNVq6dGrJ0OHDr3lTEpp6eq1BBISEkhJScHXN/+p1vnz5/n000+5cuVKbtHfQgghXchYtGzZsna9unVH6HTuPseOH1sQGxv7xy0D0ag3DASmA0HO5e07PMyECROoW7fuHaEZSryWCEB8fDzNmzcn+coVDu/ew/ZtUWz4/XdsDrw0QsQj7QNcCeCgAf3DqwYEruzbr5/XmlWrURCjWzRv0Tv2cOzOCgXRqDdUA74ruO8FBQXx5lvj6dY9jDuJ/r78NwCLp37M2VMniUtMIBcnBfAVmkup2P9jk+pCi+Wwy46menbr2cdmz1r37ZLvtLVq1SItLY2FXy5wUwSfAMEVBqJRbwgB1gL35pZpNBoGDY5k1KhReHl5caeR6WAMAEl/HONoRgrOE00FUqTdZrKYP3dlnwaDIdxNq1s3Y+YX2lq1agE51geOPluGhob6R0dHJ7kcRKPeMAyYA3jklumNBv73f//3tsl4rqD9v+9TAaVPlaqMq1mX3SkJXLXbEHZYmXwFu5S1mzVrdo+rDKkMBkNdnUa7esTI57Xt2rVDZtsQWh3nzp3La2O324VLZ6JRb1CAGcC/nMvD+/bh3Xffxc3N7Y4F8MiRIySnpykAPlotNXRuDAiskVfv56Zj3uXzuClKKLDJFX36evt+Vb16NbeRzw0nc9ka3MI6I6pV5Xz82RJfQyklgAL40hlAIQSjXvoXU6ZMuaMBBFi9cmUu08IDbjeeL/evWoNArS5ZRXnQJcxgM+NjqakpXV8f/4aSHbWd7PgzSJ0OgBOnTuK0RUmXgQh8DjyX+8Xd3Z2PPv6QF198kTud0tLS2Lx+gwoQ7OmNb37rNwB0El6sdo+3FvlCcHBwlfL0p9frfbRumrnt27ajbe17sR35M29SWCwWZzEmuWHDhqkuAdGoN0wBXs79HhgYyIJFC+nRs9dtGfTTp0+TlJTksutNmzbNlmGzKQCP+BSNTwf/QA2IQDU7e2p5+lNQPrDb7UGvjn2NrB0/5gCo0SB8fdixY4dz059XrlxpLzeIRr1hIvCm8wycNWc2LVq0uG0z595772XGjBnMmDGDy5cvl+taWzZvYdWKlTqAhm4e9KxStci2Pgja+fgqUjKyRfMWXcvSX3DT4PogX3rsiccJupaE/epVSE1DCaqKEIIdP2zPaysFP5Z7TzTqDWHA+85l7733/m0713PeiydOnEhWVhY9w3owadIkjh49WqprqKrKihUr7BMnTsjK5fIm1aqPuyh+WHr4VxOAkELdWBYg7Rr7OCGE5rmBkSLxYAzSlo166TKapo35888/iY+Pd37O3eXS2Bj1hkDgK2cV2vDnR9ArvBeVgRRFYdy4cRj0zXl70jtsXL+BoKAaBIcEExoaSkhICPfdd98NOtrExERMJhOzvphpP3LkiAbQKMDooNo0cr+5wVwH3yoYPbwxWdO8pFA3G43GniaTaU9J7rlFixZBIId36NRJrXXxb+VYehrVzl1AKBq0Rj07FuXzHEg0m80x5VW7zQNq5X7p+EgnXn755UrHlPTo2YsGDe/jldFjOHv2LNu2RrFtaxQA/v7+1KpTG51Oh1ar5eL5C5w/fz6P8QPwF5rsd+o00D7o5VuyVUBKXqlZl+dPHsEuhAeqXGMwGNqYzebjN5392eoYIfCI6NOH7LijpFozsdtsaBo1RPHwYMcPzvuh2CmlVMsMolFvGAI85bwHffjhh7f9vK8oeuCBB1i9dg3Lli3j66+/JvFajqthUlJSsQxQKy8f69u1G3pUUzSl6q+Ruyejg+rw+eVzqFBVSDEdeLTY3zRq5Ofl4fmvJk2aqH6nzihSKqQnJ6Hx9kb4+nL69Gn++uuY034oF5dZTjTqDXWBL5zLxo0bh7e3d6UWE7y8vBg+fDhRUVFMeudtuoV1p0pg0Rbhk++pz+d1G5UawFx6IjCId++pj04IO8ieN2vv6e7+opTSf1jkICXeZEZkWEm2WiGoGrpgI9u3b3dufqFp06ZbS3IfRc3ECUCewVLrkFAe6dL5jpH5vLy8iIiIICIiAikl58+fJyoqis+nf5avXapqL9V1U+x2liVcIjYtmQwpaeTpRVZ2NgpS4ymUv4v7bUREhAaUMb6+PpnNqgW5R6elIoVAq2hAq0HTqCE7PvvU6Rfy65uJFkXORKPecA/wrDMX+Nob4+5YIV4IQe3atenc+caXcN7Vi1n7M1JRS3Cdg9Y0hp06yrdXL2KypnMsM4MtiVfZnZZsD9S6HbJj73YTlV5XkLV6hffWxJ84STWrHeHtRYCvL5qAAC5lZREXF3ddS2PXfVXSZyxsJr6Gkx1Mr/Det12ccAU1aNAAX28fUtKuKz9SbDb7a/HHqKbV0dW3CmF+gTzgkf/kJT4rk3UJl1iXdBW704mGEPwkpFyUarWuizlmSr45MyQGgSQ8PFx7dPNWDDodokZ1qly8gPbBELZui3KehT/HHIn5s0wgOkSKPB2aVqtl9OjR3A0khKBaUHVSTl4H0SYwuQsl6Eq2rcGKhMusSLjMvW4e3KPRYROSFLudY5kZBS9lFVIZEGuJ3VDSvkNDQ71APhEQEJBmvP9+792X/6ZrrVooXl4EVK8OTRqxdOwrzsvjwtJpf/LTaMAn90v7Dg+Te751N5C/f0FfUXnxSmpyM62Q05Sc40Lis6z8npHCwfTUQgCUp6Sga+zhkgMIkG21Pgr4hPfto7EfiMVmV/EKDEBmZhL4WDibtm7h0qVLuc0vpmVmLi/N9bVOs1ADjHKuDO/di7uJ/AOqFHiDRfLJkyetwFi9Xr9cqxKBIrqp0BDwdSg5zoA8KITYn27N/OLYsWPJZVgHBgH07d7Dw37IQl3/HI5Z+PqirVmDxYuctz/x+bFjxzLLBCLQHqie+8XDw4NOj3S+q0DMzs7OL3gj8gCxWCz7gf1Oy69o27atx969ezPK06fD57+Hv79/yn0aja/q7k49X18UBJpgA7t27eLUqVN527RGp5lb2j6cQXzcuaJT50fw9PS8q0A8ffJUwaIixQKHAVRG+d8cQlDQPfhQG5vdfATFx5u6nt5oGtRH4+/HIic1mxDMj4mJSSy1+tHp/8fyLaW9et9VANpsNmd1W87Dy+wfKl7BqxoA2gS38rKfyTmtr6Zo0LQJYc+ePVhM5ut8lkYzvUxdOPbDFjg5tWg0Gtq2b3dXgXj27FlUNZ9E+Hds3JF9t6BrI0Bw9RxLTmmzITw9sQdUYep/pjjP/SWHDh06V2YQCy6lDRo0rFSm9a6gn3/+uYDIwRZ5S7yJhMHDwyOjri7HdEWmpKILacn8+fOdjaGsGrvu3TJPdsfffBxMo8aNuNto/dr1BZgaNt8C2VQBmjVs2DBZSb++vZ7z9y7AkcqPYo7EnCoviAbnwjvZ5LAwOmw25zsdALKklBW+HzZv3lwLeNZrUN9d2rLRuHugCw/j/SlTnOPkxPv4+ZXP1MOoN9QG8qn6GzdufFeBuHrt2gK8hlx0KwILWSyWLCC1Xr16fmpiErpe3Vi8cQP7fvvdSR2njCuvGKMtOAsr80yUUpbakyo+Pp6N6/MpWFKlTvPv8txH586dtdcuXWsrheygKLjlbq0qXFMUZW1sbOxZpyU1oWbNmj5u3btz4MgRZs5wPuGTO10RmlML6J0LNBoNQUFBlRLEq5cvU62U9/bxxx8XDPHlI+32pQaD4UutVrutpHKZ0Whs6Ovr29ffz3dgWkpqsBSqDsCZ4RWAtKvTjXrDT1LwutlsjgZ5+eLFi7XPXL2qvDHudWcO+QCK8rRrWKfm+q/Jcb8GwNfbh19//2+lAzA1NZWTx09iaGEo8W/27t3LiyNfKK6JHeReUL5HYYubm9txQJeWlqbVaDQBnu7uHQMCAh5LS0lrl5KWWhVyzioffKgN7dq1o327tgRWrUZGRgaHYg6yfcdOtm2NygUqC+SbUgjvAN8qb2Vn27xSr0cB2a/RacPKItgXBeJPQIfcgmrVqrHrx92VDsSFCxfSr18/qlUrWXTozMxMIp56mpMnT+Yua5RHorjvvvsYMmwo4eHhxVq6//HHH3w85UP2Redo8KTgqJA0yVltUUFscPNwG16cg0xZuNN8NheVUdWWmZnJlu83lxhAKSVvv/12HoBeXl68Nm4s999fOtFJURTatH2ImbNnsXb9Oh5//PGbuio0btyYBYsXMe2z6dSuXVt1AlARUulvspieciWAuXtiPhBzXaoqFXe5ejVBVUu+F86ePZuoLVvzBvWTaZ9Sr149Bg8ezPebN7Hth+0c3BeN0/JWUDSgV3hvevbsWWb+oFu3bnTs2FH55ptvmDnjC6GqUpXCXiHMhjA018cDeW68hhZGlixZUmkAPH78OIOeGcjY18fx9NM35wM2b97MhDffAuDp/hG88cYbhWqf7HY7cZY4/jrxF15eXnh7e+Pt7U2NGjVcfoa6b98+XnvlVTU5OVlRVPnJoTjL6y7twNBcf8XQXC9zP0MiB8vKQikpKbJP7z6yTesHZWpq6k3bb1i3QYYEt5JtW7eRUVu3VMg9ZWdny6SkpFL/Lj4+Xvbu2Us1NNdLQ1NDNyklrvrcsJwmJydXihkopWT8+PGcPn2KJ556slhzyczMTCZPnsyPu3YzZNhQBgwY4FIxKTs7my2bt7Bpwwb2H4hGVVXqN6hHr945gZNKEo+gbt26fDp9mogcOAgQC3HEaHXVcpoF6HILqlevzs7du247iLNmzWLenJzz0WUrlhdprHXh3HkWLf6Kpk2bEh4e7lLFvd1uZ+PGjcyfN5dzZ88X2kaj0TAwchCjRo0qkV3uggULmD1zVvrBQzEuM+LVApeA2pVpJq5cuZL5c+flMRnFWdvVrHUPEydOdGn/qqoStSWKOXPmcPq0s15aHAbpD9RxBvrbr79h29ZtRA6JpFevXtSoUaM4jldVVfVvVzM20UCIc+H+A9G35SjKbrczdepUVizLsRNyd3dnybKlt0wNKKVkxw87mDVrJidOXA8uLATrUZQ3Y2Nj/+jcubM24fLlx1SU/wF5Q7AlIQTBIa1o06YNTz75ZL5l/cqlS/Tp0zc7LS39I/Nhc5nfPKPeEAHMBMxAuBa4IcBcSlIS7rdY9RYfH8+7b/+b/Qei88rGvj7ulgH4467dzJo1iz/++MMZvIOoyiuxlti8w8jdu3dnA6uB1Xq9/l4hRHchZUvAR1E0fVVVrXow+gAHow+wbWsU6zde19suWLSI9PR0rRRyZTkADAW+BdzIidj1bKEgJiQllVpHWR512rx581j63ZJ8Os7OXbswYEDFx4X95ZdfmPXFTA4fPpzvPZaCSU2aNp1VnCm9xWKJBxY2bdq0qlbRDlRVNZ+Jy6WL+VfNixcvSkVREs1mU3kyxX3kADCXHisUxD+OHqnwkMyZmZmsWrWKL+fNdwS7c1I4eHny3nvvVWj/+/btY+aMLzh06FDBBXGNolXGlMZUQqfRTQU5omB5YLX8HscnTxxPVVX1x7JaFBj1hlpApwLF92uBUwUbxxyKpU/fRytk8KxWKytWrGDxoq+4evVqoW2yrJlcvHC+EGPf8jMsu3ft5JtvvyPmwMGC+sdzdsELZrPp+1LvpUL+JCQ3gPjCiyPz/o/aukWeOnnasyTu28VQf240+A7QAr8WbHko5qDLwcvIyMgD79q1azcd7P9MnsL8BV+6hMFKSkhg1Zo1rFy+gosXC48xqyriA7Op9AACmM3mb1sYWgyTUu3ixIWeaxUSWnvdunWsXbvWHhtzSAMiEcG6cjzKM4WU+QgpJUa94TJQzZnD+mXvrzdEGSwrx7ds2TLmzp2b5/hZGOn1euLi4vJZpAUHBzNj5hdlnpF/HD3CkqXL2Pr9lkLzJ9apU5uzZ8/lMjFLYs3myHIwHAtxCg8DZBXYuxKkICznjLFM178fOFZI1cVc4+GfcbJ4k1ISGxvLww8/XC4Az5w5wzvvvMOB/UXfd0BAAONeH0vfR/uxaNEiPpt23fQyJiaGIZGDefXVV2nbvt1NZ+WVK1eIjo7O+ezbn09McCb/gCq8MvoVWoW2op9j25CSsNDQUK/o6Oj00j5nixYtGuN0Jgv8BdgBf5BRUog1Vqt1e2nN8wvQU0WU/10oiLkDWFYQpZQsX76cz6ZNJyOjcPMRT09P+j8zgBEjRuDnl+PP+txzz5GUlMRXC69bRZ88eZLRo0fj6elJ+w4P07Jlyxtczk+cOEH0vv3O5vBFalfsdjsZaekE1QyiQYMG1KtXP1egr55lzXqLnEjJpXteu/1DENo8LZ1q71gBSTQfL6L8XO5yGoqTHwLkBNtbunRpmbjOl19+md/2Fm4d4OvtQ/9BzzBkyBCqVCk86M/8+fOZP3dekdlGS0O+vr706BFGl27d2LJlC5s35oRk0+l0zJozm4y0DBwxvQGsQqM0i42NPVnKpc7m0H6hwIpDFrNLZSOj3lAHiMcpiokTTcp9ew46GuWFvLSYzBw2m2luMJSqww8++KBQAP38/Bg0OJLIyMib7rUjR44kLCyMefPmsXvnLtLTS77C3XPPPeiNBgyGnI9er89bhh9++GHq1KnD3NlzsNlsfDT1I9asW0OHTh35ec9PAB7Sbp9OAZeGm5GC/B8V8b4QXJGKUhFu1QOLABBgd15KBaPe8BbwH+faXuG9+fDDkscpX7FiBZPf/yBfmZeXF0OfHcbgwYPx8fEpk0jy6y8/8+exvzhz5gznzpzFZs/Gy80Dd29PPD09qVevHkaDnuZ6w01P/5MSEujSpWueYuHTT6fRtHlTHu/3WB7zIwSTYs3myVQCMuoNnsAJoGZhuhIg0BnEIOCMM0el0WiI+mFbsQpd5z10+LPP5bmP6XQ6Igb0Z+TIkQQEVK6MruPHj2fr91sAeDC0NQsWL+K7777jo6kfOqvcRsWazXMqAYijyQmMWBh9brKYX8njEEwW8yVgVUGF9PLlJXNanTp1KtnZ2SiKwqOP9WPT95sZP358hQCYlpbG0aNHOXDgAHv27GHPj7s5fvx4iffQdg9ddxY6fSYnBFdkZCTPDneWEMSsNiEhz95mAN2BN4qotgGfwo2BF2YB+dLKrV65ihdeeKFY25szZ85w5HAcQUFBTJ/+WanMCkuqaYmLi2Pv3r3s3buX2JhD2O32vNUitFUIHbs8gsFgwGg03jRgkrMBcqbtOvCvvvoqKSkprF65CimlyMjMWtSpU6fXkpOTx8TExNyOQ9bncDomLEDfmizmMzeAaLKY/2vUG34lx2s4Zw9JSmLjxo1ERBSdFmn79u20Cg1h2rRpBAYGuuwJpJREbYlixhef3XAo2+7h9oT37kXHTo+UWhmQG6w9R+DPn9Fv0qRJpKens2VzjvIm4eo1PbCzU4eOl61W6xmrNeOaYy+KFnbNzgf0D+wvabyZUs7CKsWIOypOSVUKC4HyEhCNI+4ZwPy58+jZs2eePFeQjh8/zuzZs10auN1ms/HKK6/kco15VL9+fd6c8Bbt2pXdf/KnH6/H0qtaNb+SWlEUpk6dyiOPPMKX8+dx6uRp7HY7UsrqWkVT3Ul1/ZhU7B8cjTt6rEXzFq+XNhhDCWg6UFSm8rUmizkvREqhCb+MesMMnALUFsepJicnk5SU5PK8F2+99Rbfb9qcj8t9cdT/EBkZiVZb9iQCFpOJyMjBqKqKEAJvTy9WrVtD7dq1i1wNcpdfVVVZunRpPgbIqeV7Jovl3y6ahT2B4kKChZgs5oPXRZzC6W0KHFFt/X4LUVFRhcp/rgbwxIkTecsZQJUqVVi5ehXDhg0rF4CZmZlMmDghTz8rpSQ1PY3XXnutSLMU5/1z3759rFu7pqid9p2yBrEtAKAvML+YJmudASwSRJPFnATcYBs5+f0PuHI93kqF0ZIlS/JM7rVaLZ9/PoN77723/OvT9OmcOnnaibsTewGOHI4jctBAzsQXniMq5kAMEU9FyJEjnufYn385A3wJxCYgFpBS3HimWAb6GCc74AJ0Gm488iqSjTNZzN8B2/IJyklJTHrnnQoFMDk5mU0bNuZ979Kta6Fp8EpL+/btY9mSpc5y4CcqamdFlTMAeerkaZ4ZMFDu3nmjH8qn0z/l6NEjwum3WxRV0zbWbKphspgeNVnMLVVkB6BbOWdhN2BkMSJFf5PFnFBiEJ3UPfm0ynt/+ZUVK1aU+Uazjx7DunYT1rWbyNocRebOPdiPXY/1umP7D1it1rzvffuEuwTAV18e43SgLubEms0TLBZL1qE4yxgp6ALyVHJyshgzZjQjRozIZ67hFOv8shR0jjWbww/FHfot315rsfyqwR5eDgCbACuLUa+9YbKYfy90Ib+ZpYBRb2gJ7AXyPG08PDz4+ttvaNq0ack4zf0HyP7tANkHTahF7D2a2rXQde/EhB3b2L5zZ54M+Nu+38t1MLxl8xYmTZoos7OzRc4Ds8gUZxlR0ESiSZMmvm5atw8dZhY6gHr16tMqtBVxlsMOAyo5X4WXHR7ArhQnagL/pZC0vA5aZ7KYnyhS7i2JuYdRb4gkx8IqH0Pz5cIFxQJpv3CRjDmLsB8uWYB1Fehz4jApDgG8UaNGrFm3tsyDs2jRIvn59M+cnlF8Yz5sfra4kMyhjR+oZXNzf0lKIovYmxJALBUa8V5sbOwlFwDoA+wBWhXF5wGtHHxK2UF0dPY5OQH8SgSk/dx50iZ+gEwpuWt8bEYqL8VfP7zu2+9RJk8uvR76+PHjTJ48OSN6337P64pi+ZrJYvmyNNcJbhr8QLY2u4uQIghUT0CgKr9p3DU/usJB1Kg3aMlJV1RU1OIsoJ3JYj5Q3HVKw6+PBZo5b97Jyck8P3xEoUCmfzKzVAACrEm4ku97SZfrXEpMTGTGjBnWNatWu0kpcwHcKwVDzGbL8dIOsiPm6J9UHM0tBsBMByNz4GYXKXFUdpPFnE1OoPIdBbnJ54eP4MiRI/mYF7UUCasAzBmp7E7Jz3gFlzB5Snp6OnPnzrV169I1c/XKVR5SSgVIFII3mjRr2rEkUfJvsWJbGPWGD4HhRTRJBXqbLOYSaYFKnaLdqDd4AOspkPTSeWlNn70Q2849pbrui/F/cDjj+uFvrVq1iPph202F9+XLl8s5c+ZkpqemeVwfAPG5Rqf5xFU+8S4G0Bv4BiiKUbkG9DJZzCUOWVbq/Agmi9lKTqr1rYXNyB937UaWMofTxsRr+QAE6N4jrFi96ooVKwgLC7N9+vEnwgGgFeQ0rZuuoclimlRJAawL/FIMgBeAjqUBsEwz0emG3IE1wA2yUfh9jRiteOJ1k1QFKvDl5bN8dy1/ridFUVi1ZnWhVuiHDh5k/Pg35YULF3LlKZuiyoW4aT8oa4C7WwRgW2AdUKMYLrS7yWI+Udpri/JElDDqDW6OpaF/wbqaWjcm1KpHsGfhJhmpqsq7507yW/qNcuPT/SN4++0bT2F+3LWbsWPHqjZHdjXgrIp8whFwlkoM4BCHPrQogfewA8AyWcgJVwQaNOoNLwGfFLxJBXgIg8YpAAAD30lEQVQ6oDojg2rj5lBEnMiy8n3CZbYlXSOpEHEtMDCQDZs23nBGuGfPHka/9LKUUjpmoIiRQvYym81F+vo1aNDAw8fHx99ut3sAxMXFnb7F4GmAKRSih3YW5IERJov5Wln7Ea6KFulIEr0CuK9gnb/Q0MDTi8TsLE5lFW0/6+fnx4JFC2nSpEm+ciklPcN6JF+4cMHv+gsi+x2yWDbeIKyHhuqyrdYnVUQE0AunnMfAJRA/oTDVZDIdqGAAw8nxYGpWlEQEvOzQUZeLXJb4ySHPhJDju5ePkqSdQ+mpxQJYp04d5n05/wYAAXbt2oUzgADZkHLDwBmNnbKsmbEqYhk5xrYFbUqCQD6FKn8zGAzjKgi8YKPesJOcUJxFARgF6F0BYGmF/ZIAmQQ8XfjyWviM9/X1pf8zA3jhhReK1JGeP3++oF8DCmJ9i+YtRkiNNCv2bH9VaCeALIkr1yUQ04Skn16vX2+xWP5yIec5GYikaCV2CjDWZDF/6cpx11bE22iymGca9YZd5JyNFRlMvG7durzwwov07tO72MPexo0bF7Zi+EmhrkQFVWiKeklSHFxfLa5nGgiSUvqZD5s76PV6NxeA5we8BbxSyMzPx5cBz5os5lOuHm9R0RGUjXpDFweYRSl4CQoK4plBA3nqqacKNXrKzMyke9duMYmJiSU4WBS/K6izpUbzu8lk+lNKKSMiIjRH446OAfk+4AUkVK1eLcjhul3W56oNDHWAV72YpknAO8AXJou5QgZb3Iow2I7U7gMdy02R8Vs8PDx4uGMHWrduTevWrfNlIc3IyFjbpnXrZBCDcTLicqIjqGK0Kc60o6jrN2vW7B6d0HWRwt7KZLGMLcNzeDgUHc8C3W/CU1wEPgPmmCzmCg1JcktALKAgGE1Oar+bpjivEhhASEgIoaGhuaB2b9mypVmBAagYhcBbRSRLIaPc3d03RUdH2yrgnhsCXR2fHiW4778c/MBik8WceSvG9ZaC6DQw/uR4vQ4D2pT0d35+fhLYlZycvAn4nZzkJFdd9aY7XBmaOD5tHMCVNPJTDDAVWG2ymNVbOZ63BcQCA9fYAeZgirZ2vhnZgKvAFae/VwqUpZMTAs2bnKRmuZ9AoLHjUxafg93AVJPF/MPtGsPbDqITmAo5Z5VDHTJeZc1xZAV+csh6W00W89HbfUOVBsRC2PauwEOOZS2UAoEEbzEddYC2DdhjspgzKtN4VUoQCwFVAzR3AJoLbFNXapwKEQt25QJnsphPV+bxuSNALAJYX4fsWdOxlxX3CXTM5DSHAiDV8TfFwRwdd3CVxx2fCxUl01UE/R+4oNmVz83aAgAAAABJRU5ErkJggg==",er=n(189),tr=n(6419);function nr(e){return e&&"object"===typeof e?"position"in e||"type"in e?Or(e.position):"start"in e||"end"in e?Or(e):"line"in e||"column"in e?rr(e):"":""}function rr(e){return ir(e&&e.line)+":"+ir(e&&e.column)}function Or(e){return rr(e&&e.start)+"-"+rr(e&&e.end)}function ir(e){return e&&"number"===typeof e?e:1}var or=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e,r,O){var i;(0,u.Z)(this,n);var o=[null,null],a={start:{line:null,column:null},end:{line:null,column:null}};if(i=t.call(this),"string"===typeof r&&(O=r,r=void 0),"string"===typeof O){var s=O.indexOf(":");-1===s?o[1]=O:(o[0]=O.slice(0,s),o[1]=O.slice(s+1))}return r&&("type"in r||"position"in r?r.position&&(a=r.position):"start"in r||"end"in r?a=r:("line"in r||"column"in r)&&(a.start=r)),i.name=nr(r)||"1:1",i.message="object"===typeof e?e.message:e,i.stack="","object"===typeof e&&e.stack&&(i.stack=e.stack),i.reason=i.message,i.fatal,i.line=a.start.line,i.column=a.start.column,i.position=a,i.source=o[0],i.ruleId=o[1],i.file,i.actual,i.expected,i.url,i.note,i}return(0,p.Z)(n)}(P(Error));or.prototype.file="",or.prototype.name="",or.prototype.reason="",or.prototype.message="",or.prototype.stack="",or.prototype.fatal=null,or.prototype.column=null,or.prototype.line=null,or.prototype.source=null,or.prototype.ruleId=null,or.prototype.position=null;var ar={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');cr(e);var n,r=0,O=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else O<0&&(n=!0,O=i+1);return O<0?"":e.slice(r,O)}if(t===e)return"";var o=-1,a=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),a>-1&&(e.charCodeAt(i)===t.charCodeAt(a--)?a<0&&(O=i):(a=-1,O=o));r===O?O=o:O<0&&(O=e.length);return e.slice(r,O)},dirname:function(e){if(cr(e),0===e.length)return".";var t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){cr(e);var t,n=e.length,r=-1,O=0,i=-1,o=0;for(;n--;){var a=e.charCodeAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1);else if(t){O=n+1;break}}if(i<0||r<0||0===o||1===o&&i===r-1&&i===O+1)return"";return e.slice(i,r)},join:function(){for(var e,t=-1,n=arguments.length,r=new Array(n),O=0;O2){if((r=O.lastIndexOf("/"))!==O.length-1){r<0?(O="",i=0):i=(O=O.slice(0,r)).length-1-O.lastIndexOf("/"),o=s,a=0;continue}}else if(O.length>0){O="",i=0,o=s,a=0;continue}t&&(O=O.length>0?O+"/..":"..",i=2)}else O.length>0?O+="/"+e.slice(o+1,s):O=e.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===n&&a>-1?a++:a=-1}return O}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/"),t?"/"+n:n}function cr(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var lr={cwd:function(){return"/"}};function ur(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function pr(e){if("string"===typeof e)e=new URL(e);else if(!ur(e)){var t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){var n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return function(e){if(""!==e.hostname){var t=new TypeError('File URL host must be "localhost" or empty on darwin');throw t.code="ERR_INVALID_FILE_URL_HOST",t}var n=e.pathname,r=-1;for(;++ri.length;s&&i.push(r);try{a=e.apply(this,i)}catch(l){var c=l;if(s&&n)throw c;return r(c)}s||(a instanceof Promise?a.then(O,r):a instanceof Error?r(a):O(a))};function r(e){if(!n){n=!0;for(var r=arguments.length,O=new Array(r>1?r-1:0),i=1;i1?s-1:0),l=1;l1?n-1:0),a=1;ai?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(O=Array.from(r)).unshift(t,n),[].splice.apply(e,O);else for(n&&[].splice.apply(e,[t,n]);o0?(Yr(e,e.length,0,t),e):t}var jr={}.hasOwnProperty;function Vr(e){for(var t={},n=-1;++nr))return;for(var c,l,u=O.events.length,p=u;p--;)if("exit"===O.events[p][0]&&"chunkFlow"===O.events[p][1].type){if(c){l=O.events[p][1].end;break}c=!0}for(Q(o),s=u;st;){var r=i[n];O.containerState=r[1],r[0].exit.call(O,e)}i.length=t}function $(){t.write([null]),n=void 0,t=void 0,O.containerState._closeFlow=void 0}}},aO={tokenize:function(e,t,n){return OO(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var sO={tokenize:function(e,t,n){return OO(e,(function(e){return null===e||Kr(e)?t(e):n(e)}),"linePrefix")},partial:!0};function cO(e){for(var t,n,r,O,i,o,a,s={},c=-1;++c=4?t(O):e.interrupt(r.parser.constructs.flow,n,t)(O)}},partial:!0};var dO={tokenize:function(e){var t=this,n=e.attempt(sO,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,OO(e,e.attempt(this.parser.constructs.flow,r,e.attempt(uO,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};var hO={resolveAll:$O()},fO=QO("string"),mO=QO("text");function QO(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],O=t.attempt(r,i,o);return i;function i(e){return s(e)?O(e):o(e)}function o(e){if(null!==e)return t.enter("data"),t.consume(e),a;t.consume(e)}function a(e){return s(e)?(t.exit("data"),O(e)):(t.consume(e),a)}function s(e){if(null===e)return!0;var t=r[e],O=-1;if(t)for(;++O-1&&(n[0]=n[0].slice(O)),o>0&&n.push(e[i].slice(0,o)));return n}(o,e)}function d(){return Object.assign({},r)}function h(){for(var e;r._indexc?n(O):(e.consume(O),h):41===O?l--?(e.consume(O),h):(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(O)):null===O||Hr(O)?l?n(O):(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(O)):Br(O)?n(O):(e.consume(O),92===O?f:h)}function f(t){return 40===t||41===t||92===t?(e.consume(t),h):h(t)}}function kO(e,t,n,r,O,i){var o,a=this,s=0;return function(t){return e.enter(r),e.enter(O),e.consume(t),e.exit(O),e.enter(i),c};function c(u){return null===u||91===u||93===u&&!o||94===u&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs||s>999?n(u):93===u?(e.exit(i),e.enter(O),e.consume(u),e.exit(O),e.exit(r),t):Kr(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),l(u))}function l(t){return null===t||91===t||93===t||Kr(t)||s++>999?(e.exit("chunkString"),c(t)):(e.consume(t),o=o||!eO(t),92===t?u:l)}function u(t){return 91===t||92===t||93===t?(e.consume(t),s++,l):l(t)}}function _O(e,t,n,r,O,i){var o;return function(t){return e.enter(r),e.enter(O),e.consume(t),e.exit(O),o=40===t?41:t,a};function a(n){return n===o?(e.enter(O),e.consume(n),e.exit(O),e.exit(r),t):(e.enter(i),s(n))}function s(t){return t===o?(e.exit(i),a(o)):null===t?n(t):Kr(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),OO(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===o||null===t||Kr(t)?(e.exit("chunkString"),s(t)):(e.consume(t),92===t?l:c)}function l(t){return t===o||92===t?(e.consume(t),c):c(t)}}function RO(e,t){var n;return function r(O){if(Kr(O))return e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),n=!0,r;if(eO(O))return OO(e,r,n?"linePrefix":"lineSuffix")(O);return t(O)}}function ZO(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var EO={name:"definition",tokenize:function(e,t,n){var r,O=this;return function(t){return e.enter("definition"),kO.call(O,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function i(t){return r=ZO(O.sliceSerialize(O.events[O.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),RO(e,XO(e,e.attempt(UO,OO(e,o,"whitespace"),OO(e,o,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function o(i){return null===i||Kr(i)?(e.exit("definition"),O.parser.defined.includes(r)||O.parser.defined.push(r),t(i)):n(i)}}},UO={tokenize:function(e,t,n){return function(t){return Hr(t)?RO(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?_O(e,OO(e,O,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function O(e){return null===e||Kr(e)?t(e):n(e)}},partial:!0};var WO={name:"codeIndented",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("codeIndented"),OO(e,O,"linePrefix",5)(t)};function O(e){var t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?i(e):n(e)}function i(t){return null===t?a(t):Kr(t)?e.attempt(qO,i,a)(t):(e.enter("codeFlowValue"),o(t))}function o(t){return null===t||Kr(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),o)}function a(n){return e.exit("codeIndented"),t(n)}}},qO={tokenize:function(e,t,n){var r=this;return O;function O(t){return r.parser.lazy[r.now().line]?n(t):Kr(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O):OO(e,i,"linePrefix",5)(t)}function i(e){var i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):Kr(e)?O(e):n(e)}},partial:!0};var CO={name:"headingAtx",tokenize:function(e,t,n){var r=this,O=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),i(t)};function i(a){return 35===a&&O++<6?(e.consume(a),i):null===a||Hr(a)?(e.exit("atxHeadingSequence"),r.interrupt?t(a):o(a)):n(a)}function o(n){return 35===n?(e.enter("atxHeadingSequence"),a(n)):null===n||Kr(n)?(e.exit("atxHeading"),t(n)):eO(n)?OO(e,o,"whitespace")(n):(e.enter("atxHeadingText"),s(n))}function a(t){return 35===t?(e.consume(t),a):(e.exit("atxHeadingSequence"),o(t))}function s(t){return null===t||35===t||Hr(t)?(e.exit("atxHeadingText"),o(t)):(e.consume(t),s)}},resolve:function(e,t){var n,r,O=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);O-2>i&&"whitespace"===e[O][1].type&&(O-=2);"atxHeadingSequence"===e[O][1].type&&(i===O-1||O-4>i&&"whitespace"===e[O-2][1].type)&&(O-=i+1===O?2:4);O>i&&Yr(e,i,O-i+1,[["enter",n={type:"atxHeadingText",start:e[i][1].start,end:e[O][1].end},t],["enter",r={type:"chunkText",start:e[i][1].start,end:e[O][1].end,contentType:"text"},t],["exit",r,t],["exit",n,t]]);return e}};var zO={name:"setextUnderline",tokenize:function(e,t,n){var r,O,i=this,o=i.events.length;for(;o--;)if("lineEnding"!==i.events[o][1].type&&"linePrefix"!==i.events[o][1].type&&"content"!==i.events[o][1].type){O="paragraph"===i.events[o][1].type;break}return function(t){if(!i.parser.lazy[i.now().line]&&(i.interrupt||O))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,a(t);return n(t)};function a(t){return t===r?(e.consume(t),a):(e.exit("setextHeadingLineSequence"),OO(e,s,"lineSuffix")(t))}function s(r){return null===r||Kr(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,O,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),O||"definition"!==e[i][1].type||(O=i);var o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",O?(e.splice(r,0,["enter",o,t]),e.splice(O+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[O][1].end)):e[n][1]=o;return e.push(["exit",o,t]),e}};var YO=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],AO=["pre","script","style","textarea"],jO={name:"htmlFlow",tokenize:function(e,t,n){var r,O,i,o,a,s=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(o){return 33===o?(e.consume(o),l):47===o?(e.consume(o),d):63===o?(e.consume(o),r=3,s.interrupt?t:U):Gr(o)?(e.consume(o),i=String.fromCharCode(o),O=!0,h):n(o)}function l(O){return 45===O?(e.consume(O),r=2,u):91===O?(e.consume(O),r=5,i="CDATA[",o=0,p):Gr(O)?(e.consume(O),r=4,s.interrupt?t:U):n(O)}function u(r){return 45===r?(e.consume(r),s.interrupt?t:U):n(r)}function p(r){return r===i.charCodeAt(o++)?(e.consume(r),o===i.length?s.interrupt?t:x:p):n(r)}function d(t){return Gr(t)?(e.consume(t),i=String.fromCharCode(t),h):n(t)}function h(o){return null===o||47===o||62===o||Hr(o)?47!==o&&O&&AO.includes(i.toLowerCase())?(r=1,s.interrupt?t(o):x(o)):YO.includes(i.toLowerCase())?(r=6,47===o?(e.consume(o),f):s.interrupt?t(o):x(o)):(r=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(o):O?Q(o):m(o)):45===o||Lr(o)?(e.consume(o),i+=String.fromCharCode(o),h):n(o)}function f(r){return 62===r?(e.consume(r),s.interrupt?t:x):n(r)}function m(t){return eO(t)?(e.consume(t),m):S(t)}function Q(t){return 47===t?(e.consume(t),S):58===t||95===t||Gr(t)?(e.consume(t),$):eO(t)?(e.consume(t),Q):S(t)}function $(t){return 45===t||46===t||58===t||95===t||Lr(t)?(e.consume(t),$):g(t)}function g(t){return 61===t?(e.consume(t),P):eO(t)?(e.consume(t),g):Q(t)}function P(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),a=t,v):eO(t)?(e.consume(t),P):(a=null,y(t))}function v(t){return null===t||Kr(t)?n(t):t===a?(e.consume(t),b):(e.consume(t),v)}function y(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||Hr(t)?g(t):(e.consume(t),y)}function b(e){return 47===e||62===e||eO(e)?Q(e):n(e)}function S(t){return 62===t?(e.consume(t),T):n(t)}function T(t){return eO(t)?(e.consume(t),T):null===t||Kr(t)?x(t):n(t)}function x(t){return 45===t&&2===r?(e.consume(t),_):60===t&&1===r?(e.consume(t),R):62===t&&4===r?(e.consume(t),W):63===t&&3===r?(e.consume(t),U):93===t&&5===r?(e.consume(t),E):!Kr(t)||6!==r&&7!==r?null===t||Kr(t)?w(t):(e.consume(t),x):e.check(VO,W,w)(t)}function w(t){return e.exit("htmlFlowData"),X(t)}function X(t){return null===t?q(t):Kr(t)?e.attempt({tokenize:k,partial:!0},X,q)(t):(e.enter("htmlFlowData"),x(t))}function k(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return s.parser.lazy[s.now().line]?n(e):t(e)}}function _(t){return 45===t?(e.consume(t),U):x(t)}function R(t){return 47===t?(e.consume(t),i="",Z):x(t)}function Z(t){return 62===t&&AO.includes(i.toLowerCase())?(e.consume(t),W):Gr(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),Z):x(t)}function E(t){return 93===t?(e.consume(t),U):x(t)}function U(t){return 62===t?(e.consume(t),W):45===t&&2===r?(e.consume(t),U):x(t)}function W(t){return null===t||Kr(t)?(e.exit("htmlFlowData"),q(t)):(e.consume(t),W)}function q(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},VO={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(sO,t,n)}},partial:!0};var IO={name:"codeFenced",tokenize:function(e,t,n){var r,O=this,i={tokenize:function(e,t,n){var O=0;return OO(e,i,"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function i(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),o(t)}function o(t){return t===r?(e.consume(t),O++,o):O1&&e[l][1].end.offset-e[l][1].start.offset>1?2:1;var u=Object.assign({},e[n][1].end),p=Object.assign({},e[l][1].start);ti(u,-a),ti(p,a),i={type:a>1?"strongSequence":"emphasisSequence",start:u,end:Object.assign({},e[n][1].end)},o={type:a>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[l][1].start),end:p},O={type:a>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[l][1].start)},r={type:a>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},i.start),e[l][1].start=Object.assign({},o.end),s=[],e[n][1].end.offset-e[n][1].start.offset&&(s=Ar(s,[["enter",e[n][1],t],["exit",e[n][1],t]])),s=Ar(s,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",O,t]]),s=Ar(s,PO(t.parser.constructs.insideSpan.null,e.slice(n+1,l),t)),s=Ar(s,[["exit",O,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[l][1].end.offset-e[l][1].start.offset?(c=2,s=Ar(s,[["enter",e[l][1],t],["exit",e[l][1],t]])):c=0,Yr(e,n-1,l-n+3,s),l=n+s.length-c-2;break}l=-1;for(;++l13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}var bi=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Si(e){return e.replace(bi,Ti)}function Ti(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){var r=n.charCodeAt(1),O=120===r||88===r;return yi(n.slice(O?2:1),O?16:10)}return(0,NO.T)(n)||e}var xi={}.hasOwnProperty,wi=function(e,t,n){return"string"!==typeof t&&(n=t,t=void 0),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Xi({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(re),autolinkProtocol:X,autolinkEmail:X,atxHeading:s(K),blockQuote:s(L),characterEscape:X,characterReference:X,codeFenced:s(M),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:s(M,c),codeText:s(J,c),codeTextData:X,data:X,codeFlowValue:X,definition:s(B),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:s(H),hardBreakEscape:s(ee),hardBreakTrailing:s(ee),htmlFlow:s(te,c),htmlFlowData:X,htmlText:s(te,c),htmlTextData:X,image:s(ne),label:c,link:s(re),listItem:s(ie),listItemValue:f,listOrdered:s(Oe,h),listUnordered:s(Oe),paragraph:s(oe),reference:V,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:s(K),strong:s(ae),thematicBreak:s(ce)},exit:{atxHeading:u(),atxHeadingSequence:S,autolink:u(),autolinkEmail:F,autolinkProtocol:D,blockQuote:u(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:N,characterReferenceMarkerNumeric:N,characterReferenceValue:G,codeFenced:u(g),codeFencedFence:$,codeFencedFenceInfo:m,codeFencedFenceMeta:Q,codeFlowValue:k,codeIndented:u(P),codeText:u(U),codeTextData:k,data:k,definition:u(),definitionDestinationString:b,definitionLabelString:v,definitionTitleString:y,emphasis:u(),hardBreakEscape:u(R),hardBreakTrailing:u(R),htmlFlow:u(Z),htmlFlowData:k,htmlText:u(E),htmlTextData:k,image:u(q),label:z,labelText:C,lineEnding:_,link:u(W),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:I,resourceDestinationString:Y,resourceTitleString:A,resource:j,setextHeading:u(w),setextHeadingLineSequence:x,setextHeadingText:T,strong:u(),thematicBreak:u()}},e.mdastExtensions||[]),n={};return r;function r(e){for(var n={type:"root",children:[]},r=[],s=[],u={stack:[n],tokenStack:r,config:t,enter:l,exit:p,buffer:c,resume:d,setData:i,getData:o},h=-1;++h0){var m=r[r.length-1];(m[1]||_i).call(u,void 0,m[0])}for(n.position={start:a(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:a(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},h=-1;++h0&&void 0!==arguments[0]?arguments[0]:{},t=Vr([r].concat(e.extensions||[])),n={defined:[],lazy:{},constructs:t,content:O(iO),document:O(oO),flow:O(dO),string:O(fO),text:O(mO)};return n;function O(e){return function(t){return vO(n,e,t)}}}(n).document().write(function(){var e,t=1,n="",r=!0;return function(O,i,o){var a,s,c,l,u,p=[];for(O=n+O.toString(i),c=0,n="",r&&(65279===O.charCodeAt(0)&&c++,r=void 0);c":"")+")"}));return u;function u(){var c,l,u,p=[];if((!t||O(o,a,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(o,s)),p[0]===zi))return p;if(o.children&&p[0]!==Ci)for(l=(r?o.children.length:-1)+i,u=s.concat(o);l>-1&&l-1?n.offset:null}}}var Ni={}.hasOwnProperty;function Gi(e){return String(e||"").toUpperCase()}var Di={}.hasOwnProperty;function Fi(e,t){var n=t.data||{};return"value"in t&&!(Di.call(n,"hName")||Di.call(n,"hProperties")||Di.call(n,"hChildren"))?e.augment(t,Zi("text",t.value)):e(t,"div",Ji(e,t))}function Li(e,t,n){var r,O=t&&t.type;if(!O)throw new Error("Expected node, got `"+t+"`");return("function"===typeof(r=Di.call(e.handlers,O)?e.handlers[O]:e.passThrough&&e.passThrough.includes(O)?Mi:e.unknownHandler)?r:Fi)(e,t,n)}function Mi(e,t){return"children"in t?(0,er.Z)((0,er.Z)({},t),{},{children:Ji(e,t)}):t}function Ji(e,t){var n=[];if("children"in t)for(var r=t.children,O=-1;++O55295&&i<57344){var a=e.charCodeAt(n+1);i<56320&&a>56319&&a<57344?(o=String.fromCharCode(i,a),O=1):o="\ufffd"}else o=String.fromCharCode(i);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+O+1,o=""),O&&(n+=O,O=0)}return t.join("")+e.slice(r)}function Hi(e,t){var n=[],r=-1;for(t&&n.push(Zi("text","\n"));++r0&&n.push(Zi("text","\n")),n}function Ki(e,t){var n,r=String(t.identifier),O=Bi(r.toLowerCase()),i=e.footnoteOrder.indexOf(r);-1===i?(e.footnoteOrder.push(r),e.footnoteCounts[r]=1,n=e.footnoteOrder.length):(e.footnoteCounts[r]++,n=i+1);var o=e.footnoteCounts[r];return e(t,"sup",[e(t.position,"a",{href:"#"+e.clobberPrefix+"fn-"+O,id:e.clobberPrefix+"fnref-"+O+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:"footnote-label"},[Zi("text",String(n))])])}function eo(e,t){var n=t.referenceType,r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return Zi("text","!["+t.alt+r);var O=Ji(e,t),i=O[0];i&&"text"===i.type?i.value="["+i.value:O.unshift(Zi("text","["));var o=O[O.length-1];return o&&"text"===o.type?o.value+=r:O.push(Zi("text",r)),O}function to(e){var t=e.spread;return void 0===t||null===t?e.children.length>1:t}function no(e,t,n){var r=0,O=e.length;if(t)for(var i=e.codePointAt(r);9===i||32===i;)r++,i=e.codePointAt(r);if(n)for(var o=e.codePointAt(O-1);9===o||32===o;)O--,o=e.codePointAt(O-1);return O>r?e.slice(r,O):""}var ro={blockquote:function(e,t){return e(t,"blockquote",Hi(Ji(e,t),!0))},break:function(e,t){return[e(t,"br"),Zi("text","\n")]},code:function(e,t){var n=t.value?t.value+"\n":"",r=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),O={};r&&(O.className=["language-"+r]);var i=e(t,"code",O,[Zi("text",n)]);return t.meta&&(i.data={meta:t.meta}),e(t.position,"pre",[i])},delete:function(e,t){return e(t,"del",Ji(e,t))},emphasis:function(e,t){return e(t,"em",Ji(e,t))},footnoteReference:Ki,footnote:function(e,t){for(var n=e.footnoteById,r=1;r in n;)r++;var O=String(r);return n[O]={type:"footnoteDefinition",identifier:O,children:[{type:"paragraph",children:t.children}],position:t.position},Ki(e,{type:"footnoteReference",identifier:O,position:t.position})},heading:function(e,t){return e(t,"h"+t.depth,Ji(e,t))},html:function(e,t){return e.dangerous?e.augment(t,Zi("raw",t.value)):null},imageReference:function(e,t){var n=e.definition(t.identifier);if(!n)return eo(e,t);var r={src:Bi(n.url||""),alt:t.alt};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"img",r)},image:function(e,t){var n={src:Bi(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)},inlineCode:function(e,t){return e(t,"code",[Zi("text",t.value.replace(/\r?\n|\r/g," "))])},linkReference:function(e,t){var n=e.definition(t.identifier);if(!n)return eo(e,t);var r={href:Bi(n.url||"")};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"a",r,Ji(e,t))},link:function(e,t){var n={href:Bi(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,Ji(e,t))},listItem:function(e,t,n){var r,O=Ji(e,t),i=n?function(e){var t=e.spread,n=e.children,r=-1;for(;!t&&++r0&&r.children.unshift(Zi("text"," ")),r.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),o.className=["task-list-item"]);for(var s=-1;++s0,!0),r[0]),O=r.index+r[0].length,r=n.exec(t);return i.push(no(t.slice(O),O>0,!1)),i.join("")}(String(t.value))))},thematicBreak:function(e,t){return e(t,"hr")},toml:Oo,yaml:Oo,definition:Oo,footnoteDefinition:Oo};function Oo(){return null}var io={}.hasOwnProperty;function oo(e,t){var n=t||{},r=n.allowDangerousHtml||!1,O={};return o.dangerous=r,o.clobberPrefix=void 0===n.clobberPrefix||null===n.clobberPrefix?"user-content-":n.clobberPrefix,o.footnoteLabel=n.footnoteLabel||"Footnotes",o.footnoteLabelTagName=n.footnoteLabelTagName||"h2",o.footnoteLabelProperties=n.footnoteLabelProperties||{className:["sr-only"]},o.footnoteBackLabel=n.footnoteBackLabel||"Back to content",o.definition=function(e){var t=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return Ai(e,"definition",(function(e){var n=Gi(e.identifier);n&&!Ni.call(t,n)&&(t[n]=e)})),function(e){var n=Gi(e);return n&&Ni.call(t,n)?t[n]:null}}(e),o.footnoteById=O,o.footnoteOrder=[],o.footnoteCounts={},o.augment=i,o.handlers=(0,er.Z)((0,er.Z)({},ro),n.handlers),o.unknownHandler=n.unknownHandler,o.passThrough=n.passThrough,Ai(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();io.call(O,t)||(O[t]=e)})),o;function i(e,t){if(e&&"data"in e&&e.data){var n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=(0,er.Z)((0,er.Z)({},t.properties),n.hProperties)),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){var r="type"in e?e:{position:e};(O=r)&&O.position&&O.position.start&&O.position.start.line&&O.position.start.column&&O.position.end&&O.position.end.line&&O.position.end.column&&(t.position={start:ji(r),end:Vi(r)})}var O;return t}function o(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),i(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}function ao(e,t){var n=oo(e,t),r=Li(n,e,null),O=function(e){for(var t=-1,n=[];++t1?"-"+a:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"\u21a9"}]};a>1&&c.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(a)}]}),s.length>0&&s.push({type:"text",value:" "}),s.push(c)}var l=O[O.length-1];if(l&&"element"===l.type&&"p"===l.tagName){var u,p=l.children[l.children.length-1];p&&"text"===p.type?p.value+=" ":l.children.push({type:"text",value:" "}),(u=l.children).push.apply(u,s)}else O.push.apply(O,s);var d={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+o},children:Hi(O,!0)};r.position&&(d.position=r.position),n.push(d)}}return 0===n.length?null:{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:(0,er.Z)((0,er.Z)({},JSON.parse(JSON.stringify(e.footnoteLabelProperties))),{},{id:"footnote-label"}),children:[Zi("text",e.footnoteLabel)]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:Hi(n,!0)},{type:"text",value:"\n"}]}}(n);return O&&r.children.push(Zi("text","\n"),O),Array.isArray(r)?{type:"root",children:r}:r}var so=function(e,t){return e&&"run"in e?function(e,t){return function(n,r,O){e.run(ao(n,t),r,(function(e){O(e)}))}}(e,t):function(e){return function(t){return ao(t,e)}}(e||t)};var co=n(1512),lo=n(1165);function uo(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return function(t){Ai(t,"element",(function(t,n,r){var O,i=r;if(e.allowedElements?O=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(O=e.disallowedElements.includes(t.tagName)),!O&&e.allowElement&&"number"===typeof n&&(O=!e.allowElement(t,n,i)),O&&"number"===typeof n){var o;if(e.unwrapDisallowed&&t.children)(o=i.children).splice.apply(o,[n,1].concat((0,l.Z)(t.children)));else i.children.splice(n,1);return n}}))}}var po=["http","https","mailto","tel"];var ho=n(2268);function fo(e){var t=e&&"object"===typeof e&&"text"===e.type?e.value||"":e;return"string"===typeof t&&""===t.replace(/[ \t\n\f\r]/g,"")}var mo=n(8231),Qo={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},$o=n(1361),go=n(194),Po=n(5011),vo={}.hasOwnProperty,yo=new Set(["table","thead","tbody","tfoot","tr"]);function bo(e,t){for(var n,r=[],O=-1;++O0?s.createElement(h,c,u):s.createElement(h,c)}function To(e,t){for(var n=-1,r=0;++n for more info)")),delete ko[t]}var r=wr().use(Ri).use(e.remarkPlugins||[]).use(so,(0,er.Z)((0,er.Z)({},e.remarkRehypeOptions),{},{allowDangerousHtml:!0})).use(e.rehypePlugins||[]).use(uo,e),O=new hr;"string"===typeof e.children?O.value=e.children:void 0!==e.children&&null!==e.children&&console.warn("[react-markdown] Warning: please pass a string as `children` (not: `".concat(e.children,"`)"));var i=r.runSync(r.parse(O),O);if("root"!==i.type)throw new TypeError("Expected a `root` node");var o=s.createElement(s.Fragment,{},bo({options:e,schema:lo.dy,listDepth:0},i));return e.className&&(o=s.createElement("div",{className:e.className},o)),o}_o.defaultProps={transformLinkUri:function(e){var t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;var r=t.indexOf(":");if(-1===r)return t;for(var O=-1;++OO||-1!==(O=t.indexOf("#"))&&r>O?t:"javascript:void(0)"}},_o.propTypes={children:co.string,className:co.string,allowElement:co.func,allowedElements:co.arrayOf(co.string),disallowedElements:co.arrayOf(co.string),unwrapDisallowed:co.bool,remarkPlugins:co.arrayOf(co.oneOfType([co.object,co.func,co.arrayOf(co.oneOfType([co.bool,co.string,co.object,co.func,co.arrayOf(co.any)]))])),rehypePlugins:co.arrayOf(co.oneOfType([co.object,co.func,co.arrayOf(co.oneOfType([co.bool,co.string,co.object,co.func,co.arrayOf(co.any)]))])),sourcePos:co.bool,rawSourcePos:co.bool,skipHtml:co.bool,includeElementIndex:co.bool,transformLinkUri:co.oneOfType([co.func,co.bool]),linkTarget:co.oneOfType([co.func,co.string]),transformImageUri:co.func,components:co.object};for(var Ro={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return 87===t||119===t?(e.consume(t),O):n(t)}function O(t){return 87===t||119===t?(e.consume(t),i):n(t)}function i(t){return 46===t?(e.consume(t),o):n(t)}function o(e){return null===e||Kr(e)?n(e):t(e)}},partial:!0},Zo={tokenize:function(e,t,n){var r,O;return i;function i(t){return 38===t?e.check(Wo,a,o)(t):46===t||95===t?e.check(Uo,a,o)(t):null===t||Br(t)||tO(t)||45!==t&&nO(t)?a(t):(e.consume(t),i)}function o(t){return 46===t?(O=r,r=void 0,e.consume(t),i):(95===t&&(r=!0),e.consume(t),i)}function a(e){return O||r?n(e):t(e)}},partial:!0},Eo={tokenize:function(e,t){var n=0;return r;function r(o){return 38===o?e.check(Wo,t,O)(o):(40===o&&n++,41===o?e.check(Uo,i,O)(o):Io(o)?t(o):Vo(o)?e.check(Uo,t,O)(o):(e.consume(o),r))}function O(t){return e.consume(t),r}function i(e){return--n<0?t(e):O(e)}},partial:!0},Uo={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(O){return Vo(O)?(e.consume(O),r):Io(O)?t(O):n(O)}},partial:!0},Wo={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return Gr(t)?(e.consume(t),r):59===t?(e.consume(t),O):n(t)}function O(e){return Io(e)?t(e):n(e)}},partial:!0},qo={tokenize:function(e,t,n){var r=this;return function(t){if(87!==t&&119!==t||!Go(r.previous)||Lo(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Ro,e.attempt(Zo,e.attempt(Eo,O),n),n)(t)};function O(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:Go},Co={tokenize:function(e,t,n){var r=this;return function(t){if(72!==t&&104!==t||!Do(r.previous)||Lo(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),O};function O(t){return 84===t||116===t?(e.consume(t),i):n(t)}function i(t){return 84===t||116===t?(e.consume(t),o):n(t)}function o(t){return 80===t||112===t?(e.consume(t),a):n(t)}function a(t){return 83===t||115===t?(e.consume(t),s):s(t)}function s(t){return 58===t?(e.consume(t),c):n(t)}function c(t){return 47===t?(e.consume(t),l):n(t)}function l(t){return 47===t?(e.consume(t),u):n(t)}function u(t){return null===t||Br(t)||tO(t)||nO(t)?n(t):e.attempt(Zo,e.attempt(Eo,p),n)(t)}function p(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:Do},zo={tokenize:function(e,t,n){var r,O,i=this;return function(t){if(!No(t)||!Fo(i.previous)||Lo(i.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)};function o(t){return No(t)?(e.consume(t),o):64===t?(e.consume(t),a):n(t)}function a(t){return 46===t?e.check(Uo,u,s)(t):45===t||95===t?e.check(Uo,n,c)(t):Lr(t)?(!O&&Dr(t)&&(O=!0),e.consume(t),a):u(t)}function s(t){return e.consume(t),r=!0,O=void 0,a}function c(t){return e.consume(t),l}function l(t){return 46===t?e.check(Uo,n,s)(t):a(t)}function u(i){return r&&!O?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(i)):n(i)}},previous:Fo},Yo={},Ao={text:Yo},jo=48;jo<123;)Yo[jo]=zo,58===++jo?jo=65:91===jo&&(jo=97);function Vo(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function Io(e){return null===e||60===e||Hr(e)}function No(e){return 43===e||45===e||46===e||95===e||Lr(e)}function Go(e){return null===e||40===e||42===e||95===e||126===e||Hr(e)}function Do(e){return null===e||!Gr(e)}function Fo(e){return 47!==e&&Do(e)}function Lo(e){for(var t=e.length,n=!1;t--;){var r=e[t][1];if(("labelLink"===r.type||"labelImage"===r.type)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}Yo[43]=zo,Yo[45]=zo,Yo[46]=zo,Yo[95]=zo,Yo[72]=[zo,Co],Yo[104]=[zo,Co],Yo[87]=[zo,qo],Yo[119]=[zo,qo];var Mo={tokenize:function(e,t,n){var r=this;return OO(e,(function(e){var O=r.events[r.events.length-1];return O&&"gfmFootnoteDefinitionIndent"===O[1].type&&4===O[2].sliceSerialize(O[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Jo(){var e;return{document:(0,yO.Z)({},91,{tokenize:ea,continuation:{tokenize:ta},exit:na}),text:(e={},(0,yO.Z)(e,91,{tokenize:Ko}),(0,yO.Z)(e,93,{add:"after",tokenize:Bo,resolveTo:Ho}),e)}}function Bo(e,t,n){for(var r,O=this,i=O.events.length,o=O.parser.gfmFootnotes||(O.parser.gfmFootnotes=[]);i--;){var a=O.events[i][1];if("labelImage"===a.type){r=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(i){if(!r||!r._balanced)return n(i);var a=ZO(O.sliceSerialize({start:r.end,end:O.now()}));if(94!==a.charCodeAt(0)||!o.includes(a.slice(1)))return n(i);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)}}function Ho(e,t){for(var n=e.length;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";var r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},O={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};O.end.column++,O.end.offset++,O.end._bufferIndex++;var i={type:"gfmFootnoteCallString",start:Object.assign({},O.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},a=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",O,t],["exit",O,t],["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice.apply(e,[n,e.length-n+1].concat(a)),e}function Ko(e,t,n){var r,O=this,i=O.parser.gfmFootnotes||(O.parser.gfmFootnotes=[]),o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),a};function a(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(a){var l;return null===a||91===a||o++>999?n(a):93===a?r?(e.exit("chunkString"),l=e.exit("gfmFootnoteCallString"),i.includes(ZO(O.sliceSerialize(l)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(a):n(a)):n(a):(e.consume(a),Hr(a)||(r=!0),92===a?c:s)}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,s):s(t)}}function ea(e,t,n){var r,O,i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),a=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),s};function s(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),c):n(t)}function c(t){var o;return null===t||91===t||a>999?n(t):93===t?O?(o=e.exit("gfmFootnoteDefinitionLabelString"),r=ZO(i.sliceSerialize(o)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p):n(t):Kr(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a++,c):(e.enter("chunkString").contentType="string",l(t))}function l(t){return null===t||Kr(t)||91===t||93===t||a>999?(e.exit("chunkString"),c(t)):(Hr(t)||(O=!0),a++,e.consume(t),92===t?u:l)}function u(t){return 91===t||92===t||93===t?(e.consume(t),a++,l):l(t)}function p(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),OO(e,d,"gfmFootnoteDefinitionWhitespace")):n(t)}function d(e){return o.includes(r)||o.push(r),t(e)}}function ta(e,t,n){return e.check(sO,t,e.attempt(Mo,t,n))}function na(e){e.exit("gfmFootnoteDefinition")}function ra(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.singleTilde,n={tokenize:O,resolveAll:r};return null!==t&&void 0!==t||(t=!0),{text:(0,yO.Z)({},126,n),insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){for(var n=-1;++n1?r(i):(e.consume(i),o++,a);if(o<2&&!t)return r(i);var c=e.exit("strikethroughSequenceTemporary"),l=KO(i);return c._open=!l||2===l&&Boolean(s),c._close=!s||2===s&&Boolean(l),n(i)}}}var Oa={flow:{null:{tokenize:function(e,t,n){var r,O,i=this,o=[],a=0;return function(t){if(e.enter("table")._align=o,e.enter("tableHead"),e.enter("tableRow"),124===t)return s(t);return a++,e.enter("temporaryTableCellContent"),u(t)};function s(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),r=!0,c}function c(t){return null===t||Kr(t)?function(t){if(null===t)return n(t);e.exit("tableRow"),e.exit("tableHead");var r=i.interrupt;return i.interrupt=!0,e.attempt({tokenize:X,partial:!0},(function(t){return i.interrupt=r,e.enter("tableDelimiterRow"),d(t)}),(function(e){return i.interrupt=r,n(e)}))(t)}(t):eO(t)?(e.enter("whitespace"),e.consume(t),l):(r&&(r=void 0,a++),124===t?s(t):(e.enter("temporaryTableCellContent"),u(t)))}function l(t){return eO(t)?(e.consume(t),l):(e.exit("whitespace"),c(t))}function u(t){return null===t||124===t||Hr(t)?(e.exit("temporaryTableCellContent"),c(t)):(e.consume(t),92===t?p:u)}function p(t){return 92===t||124===t?(e.consume(t),u):u(t)}function d(t){return null===t||Kr(t)?$(t):eO(t)?(e.enter("whitespace"),e.consume(t),h):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),O=!0,o.push("none"),f):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o.push("left"),m):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),d):n(t)}function h(t){return eO(t)?(e.consume(t),h):(e.exit("whitespace"),d(t))}function f(t){return 45===t?(e.consume(t),f):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o[o.length-1]="left"===o[o.length-1]?"center":"right",Q):d(t))}function m(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),O=!0,f):n(t)}function Q(t){return null===t||Kr(t)?$(t):eO(t)?(e.enter("whitespace"),e.consume(t),h):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),d):n(t)}function $(t){return e.exit("tableDelimiterRow"),O&&a===o.length?null===t?g(t):e.check(ia,g,e.attempt({tokenize:X,partial:!0},OO(e,P,"linePrefix",4),g))(t):n(t)}function g(n){return e.exit("table"),t(n)}function P(t){return e.enter("tableBody"),v(t)}function v(t){return e.enter("tableRow"),124===t?y(t):(e.enter("temporaryTableCellContent"),T(t))}function y(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),b}function b(t){return null===t||Kr(t)?function(t){if(e.exit("tableRow"),null===t)return w(t);return e.check(ia,w,e.attempt({tokenize:X,partial:!0},OO(e,v,"linePrefix",4),w))(t)}(t):eO(t)?(e.enter("whitespace"),e.consume(t),S):124===t?y(t):(e.enter("temporaryTableCellContent"),T(t))}function S(t){return eO(t)?(e.consume(t),S):(e.exit("whitespace"),b(t))}function T(t){return null===t||124===t||Hr(t)?(e.exit("temporaryTableCellContent"),b(t)):(e.consume(t),92===t?x:T)}function x(t){return 92===t||124===t?(e.consume(t),T):T(t)}function w(t){return e.exit("tableBody"),g(t)}function X(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),OO(e,r,"linePrefix")};function r(r){if(i.parser.lazy[i.now().line]||null===r||Kr(r))return n(r);var O=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&O&&"linePrefix"===O[1].type&&O[2].sliceSerialize(O[1],!0).length>=4?n(r):(i._gfmTableDynamicInterruptHack=!0,e.check(i.parser.constructs.flow,(function(e){return i._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return i._gfmTableDynamicInterruptHack=!1,t(e)}))(r))}}},resolve:function(e,t){var n,r,O,i,o,a,s,c=-1;for(;++c0?{type:"text",value:f}:void 0),!1!==f){var m;if(o!==n&&p.push({type:"text",value:e.value.slice(o,n)}),Array.isArray(f))(m=p).push.apply(m,(0,l.Z)(f));else f&&p.push(f);o=n+d[0].length,u=!0}if(!O.global)break;d=O.exec(e.value)}if(u){var Q;o?\]}]+$/.exec(e);if(i)for(e=e.slice(0,i.index),t=(O=i[0]).indexOf(")"),n=la(e,"("),r=la(e,")");-1!==t&&n>r;)e+=O.slice(0,t+1),t=(O=O.slice(t+1)).indexOf(")"),r++;return[e,O]}(n+r);if(!o[0])return!1;var a={type:"link",title:null,url:i+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[a,{type:"text",value:o[1]}]:a}function va(e,t,n,r){return!(!ya(r,!0)||/[_-\d]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function ya(e,t){var n=e.input.charCodeAt(e.index-1);return(0===e.index||tO(n)||nO(n))&&(!t||47!==n)}function ba(e){return e.label||!e.identifier?e.label||"":Si(e.identifier)}function Sa(e){var t=e||{},n=t.now||{},r=t.lineShift||0,O=n.line||1,i=n.column||1;return{move:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split(/\r?\n|\r/g),n=t[t.length-1];return O+=t.length-1,i=1===t.length?i+n.length:1+n.length+r,e},current:function(){return{now:{line:O,column:i},lineShift:r}},shift:function(e){r+=e}}}function Ta(e,t,n){var r=t.indexStack,O=e.children||[],i=Sa(n),o=[],a=-1;for(r.push(-1);++a=f||(m+10?" ":"")),O.shift(4),i+=O.move(wa(Ta(e,n,O.current()),(function(e,t,n){if(t)return(n?"":" ")+e;return e}))),o(),i},footnoteReference:e}};function e(e,t,n,r){var O=Sa(r),i=O.move("[^"),o=n.enter("footnoteReference"),a=n.enter("reference");return i+=O.move(Ra(n,ba(e),(0,er.Z)((0,er.Z)({},O.current()),{},{before:i,after:"]"}))),a(),o(),i+=O.move("]")}}function Wa(e,t,n){var r=t.indexStack,O=e.children||[],i=[],o=-1,a=n.before;r.push(-1);for(var s=Sa(n);++o0&&("\r"===a||"\n"===a)&&"html"===c.type&&(i[i.length-1]=i[i.length-1].replace(/(\r?\n|\r)$/," "),a=" ",(s=Sa(n)).move(i.join(""))),i.push(s.move(t.handle(c,e,t,(0,er.Z)((0,er.Z)({},s.current()),{},{before:a,after:l})))),a=i[i.length-1].slice(-1)}return r.pop(),i.join("")}var qa={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},Ca={unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"]}],handlers:{delete:za}};function za(e,t,n,r){var O=Sa(r),i=n.enter("emphasis"),o=O.move("~~");return o+=Wa(e,n,(0,er.Z)((0,er.Z)({},O.current()),{},{before:o,after:"~"})),o+=O.move("~~"),i(),o}function Ya(e,t,n){for(var r=e.value||"",O="`",i=-1;new RegExp("(^|[^`])"+O+"([^`]|$)").test(r);)O+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i1&&void 0!==arguments[1]?arguments[1]:{},n=(t.align||[]).concat(),r=t.stringLength||ja,O=[],i=[],o=[],a=[],s=0,c=-1;++cs&&(s=e[c].length);++pa[p])&&(a[p]=h)}l.push(d)}i[c]=l,o[c]=u}var f=-1;if("object"===typeof n&&"length"in n)for(;++fa[f]&&(a[f]=y),$[f]=y),Q[f]=b}i.splice(1,0,Q),o.splice(1,0,$),c=-1;for(var S=[];++c-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);var o=i.length+1;("tab"===O||"mixed"===O&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));var a=Sa(r);a.move(i+" ".repeat(o-i.length)),a.shift(o);var s=n.enter("listItem"),c=wa(Ta(e,n,a.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(o))+e;return(n?i:i+" ".repeat(o-i.length))+e}));return s(),c}var Ma={exit:{taskListCheckValueChecked:Ba,taskListCheckValueUnchecked:Ba,paragraph:function(e){var t,n=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],O=n.children,i=r.children[0],o=-1;if(n&&"listItem"===n.type&&"boolean"===typeof n.checked&&i&&"text"===i.type){for(;++o0&&void 0!==arguments[0]?arguments[0]:{},t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",ca(e)),n("fromMarkdownExtensions",Ha()),n("toMarkdownExtensions",Ka(e))}var ts=n(810),ns=(0,n(1762).v)(lo.YP,"g",["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]),rs=n(7611);var Os={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},is={}.hasOwnProperty,os={"#document":ss,"#document-fragment":ss,"#text":function(e,t){return{type:"text",value:t.value}},"#comment":function(e,t){return{type:"comment",value:t.data}},"#documentType":function(){return{type:"doctype"}}};function as(e,t){var n,r=e.schema,O=is.call(os,t.nodeName)?os[t.nodeName]:cs;"tagName"in t&&(e.schema=t.namespaceURI===Os.svg?lo.YP:lo.dy),"childNodes"in t&&(n=function(e,t){var n=-1,r=[];for(;++n-1&&ee)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t,r=e&&e.line,O=e&&e.column;return"number"!==typeof r||"number"!==typeof O||Number.isNaN(r)||Number.isNaN(O)||!(r-1 in n)||(t=(n[r-2]||0)+O-1||0),t>-1&&t0?e.call(t,o,a,s):e.call(t,o,a)}function vs(e,t,n,r,O){var i,o=(0,mo.s)(r.schema,t);void 0===n||null===n||"number"===typeof n&&Number.isNaN(n)||!1===n&&(r.vue||r.vdom||r.hyperscript)||!n&&o.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=o.commaSeparated?(0,go.P)(n):(0,$o.P)(n)),o.boolean&&r.hyperscript&&(n=""),"style"===o.property&&"string"===typeof n&&(r.react||r.vue||r.vdom)&&(n=function(e,t){var n={};try{Po(e,(function(e,t){"-ms-"===e.slice(0,4)&&(e="ms-"+e.slice(4)),n[e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))]=t}))}catch(r){throw r.message=t+"[style]"+r.message.slice("undefined".length),r}return n}(n,O)),r.vue?"style"!==o.property&&(i="attrs"):o.mustUseProperty||(r.vdom?"style"!==o.property&&(i="attributes"):r.hyperscript&&(i="attrs")),i?e[i]=Object.assign(e[i]||{},(0,yO.Z)({},o.attribute,n)):o.space&&r.react?e[hs[o.property]||o.property]=n:e[o.attribute]=n)}function ys(e){return"context"in e&&"cleanup"in e}var bs={}.hasOwnProperty;function Ss(e,t){var n=t||{};function r(t){var n=r.invalid,O=r.handlers;if(t&&bs.call(t,e)){var i=String(t[e]);n=bs.call(O,i)?O[i]:r.unknown}if(n){for(var o,a=arguments.length,s=new Array(a>1?a-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:{};return ps(r)?(n=r,t={}):(n=r.file,t=r),as({schema:"svg"===t.space?lo.YP:lo.dy,file:n,verbose:t.verbose,location:!1},e)}(function(e){var t="root"===e.type?e.children[0]:e;return Boolean(t&&("doctype"===t.type||"element"===t.type&&"html"===t.tagName))}(t)?function(){var e=u.treeAdapter.createDocument();if(u._bootstrap(e,void 0),!(i=u.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,s=i.__mixins[0],a=s.posTracker,p(t),Q(),e}():function(){var e={nodeName:"template",tagName:"template",attrs:[],namespaceURI:Os.html,childNodes:[]},n={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:Os.html,childNodes:[]},r={nodeName:"#document-fragment",childNodes:[]};if(u._bootstrap(n,e),u._pushTmplInsertionMode("IN_TEMPLATE_MODE"),u._initTokenizerForFragmentParsing(),u._insertFakeRootElement(),u._resetInsertionMode(),u._findFormInFragmentContext(),!(i=u.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,s=i.__mixins[0],a=s.posTracker,p(t),Q(),u._adoptNodes(n.childNodes[0],r),r}(),n);return O&&Ai(d,"comment",(function(e,t,n){var r=e;if(r.value.stitch&&null!==n&&null!==t)return n.children[t]=r.value.stitch,t})),"root"!==t.type&&"root"===d.type&&1===d.children.length?d.children[0]:d;function h(e){var t=-1;if(e)for(;++t0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n){return Zs(t,n,e)}}var zs=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,Ys=Object.hasOwnProperty;var As={}.hasOwnProperty;function js(e,t){var n=t&&e&&"object"===typeof e&&"element"===e.type&&e.properties&&As.call(e.properties,t)&&e.properties[t];return null!==n&&void 0!==n&&!1!==n}function Vs(e){var t=e&&"element"===e.type&&e.tagName.toLowerCase()||"",n=2===t.length&&104===t.charCodeAt(0)?t.charCodeAt(1):0;return n>48&&n<55?n-48:null}function Is(e){return"children"in e?Gs(e):"value"in e?e.value:""}function Ns(e){return"text"===e.type?e.value:"children"in e?Gs(e):""}function Gs(e){for(var t=-1,n=[];++t0&&void 0!==arguments[0]?arguments[0]:{},t=e.prefix||"";return function(e){Ds.reset(),Ai(e,"element",(function(e){Vs(e)&&e.properties&&!js(e,"id")&&(e.properties.id=t+Ds.slug(Is(e)))}))}}var Ls=function(e,t,n,r,O){var i=Ms(t);if(void 0!==n&&null!==n&&("number"!==typeof n||n<0||n===Number.POSITIVE_INFINITY))throw new Error("Expected positive finite index for child node");if(void 0!==r&&null!==r&&(!r.type||!r.children))throw new Error("Expected parent node");if(!e||!e.type||"string"!==typeof e.type)return!1;if((void 0===r||null===r)!==(void 0===n||null===n))throw new Error("Expected both parent and index");return i.call(O,e,n,r)},Ms=function(e){if(void 0===e||null===e)return Hs;if("string"===typeof e)return function(e){return t;function t(t){return Hs(t)&&t.tagName===e}}(e);if("object"===typeof e)return Js(e);if("function"===typeof e)return Bs(e);throw new Error("Expected function, string, or array as test")};function Js(e){for(var t=[],n=-1;++n1?n-1:0),O=1;O0&&void 0!==arguments[0]?arguments[0]:{},n=t.properties,r=t.behaviour||t.behavior||"prepend",O=t.content||Ks,i=t.group,o=Ms(t.test);return"wrap"===r?e=c:"before"===r||"after"===r?e=s:(n||(n={ariaHidden:"true",tabIndex:-1}),e=a),function(t){Ai(t,"element",(function(t,n,r){if(Vs(t)&&js(t,"id")&&o(t,n,r))return e(t,n,r)}))};function a(e){return e.children["prepend"===r?"unshift":"push"](d(e,Sr(!0,{},n),u(O,e))),[Ci]}function s(e,t,o){var a;if("number"===typeof t&&o){var s=d(e,Sr(!0,{},n),u(O,e)),c="before"===r?[s,e]:[e,s];if(i){var h=p(i,e);h&&!Array.isArray(h)&&"element"===h.type&&(h.children=c,c=[h])}return(a=o.children).splice.apply(a,[t,1].concat((0,l.Z)(c))),[Ci,t+c.length]}}function c(e){return e.children=[d(e,Sr(!0,{},n),e.children)],[Ci]}function u(e,t){var n=p(e,t);return Array.isArray(n)?n:[n]}function p(e,t){return"function"===typeof e?e(t):Sr(!0,Array.isArray(e)?[]:{},e)}function d(e,t,n){return{type:"element",tagName:"a",properties:Object.assign({},t,{href:"#"+(e.properties||{}).id}),children:n}}}var tc=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=t;n>-1;){if(!e[--n])return;if(e[n]&&e[n].value&&""!==e[n].value.replace(/(\n|\s)/g,"")||"text"!==e[n].type){if(!/^rehype:/.test(e[n].value)||"comment"!==e[n].type)return;return e[n]}}},nc=function e(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,O=arguments.length>3?arguments[3]:void 0,i=n;i/,"$2"))||""))return;if(O){var l,u=e(t,i,"pre",O);if(u)return;return a.value=null===(l=a.value)||void 0===l?void 0:l.replace(/^(\n|\s)+/,""),a}return a.value=null===(c=a.value)||void 0===c?void 0:c.replace(/^(\n|\s)+/,""),a}}},rc=function(e){var t=e.value,n=((void 0===t?"":t).replace(/^/,"$1").replace(/^rehype:/,"").match(/([^?=&]+)(=([^&]*))/g)||[]).reduce((function(e,t){return e[t.slice(0,t.indexOf("="))]=t.slice(t.indexOf("=")+1),e}),{});return Object.keys(n).forEach((function(e){"true"===n[e]&&(n[e]=!0),"false"===n[e]&&(n[e]=!1),"string"!==typeof n[e]||/^0/.test(n[e])||isNaN(+n[e])||(n[e]=+n[e])})),n},Oc=function(e,t,n){return"string"===n?(0,er.Z)((0,er.Z)({},e),{},{"data-config":JSON.stringify((0,er.Z)((0,er.Z)({},t),{},{rehyp:!0}))}):"attr"===n?(0,er.Z)((0,er.Z)({},e),t):(0,er.Z)((0,er.Z)({},e),{},{"data-config":(0,er.Z)((0,er.Z)({},t),{},{rehyp:!0})})},ic=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.properties,n=void 0===t?"data":t,r=e.codeBlockParames,O=void 0===r||r;return function(e){Ai(e,"element",(function(e,t,r){if(O&&"pre"===e.tagName&&e&&Array.isArray(e.children)&&r&&Array.isArray(r.children)&&r.children.length>1){var i=e.children[0];if(i&&"code"===i.tagName&&"number"===typeof t){var o=tc(r.children,t);if(o){var a=rc(o);Object.keys(a).length>0&&(e.properties=(0,er.Z)((0,er.Z)({},e.properties),{"data-type":"rehyp"}),i.properties=Oc(i.properties,a,n))}}}if(/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(e.tagName)&&r&&Array.isArray(r.children)&&"number"===typeof t){var s=nc(r.children,t,"",O);if(s){var c=rc(s);Object.keys(c).length>0&&(e.properties=Oc(e.properties,c,n))}}}))}},oc=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.openDelimiter,n=void 0===t?"rehype:ignore:start":t,r=e.closeDelimiter,O=void 0===r?"rehype:ignore:end":r;return function(e){Ai(e,(function(e,t,r){if("element"===e.type||"root"===e.type){var i=!1;e.children=e.children.filter((function(e){if("raw"===e.type||"comment"===e.type){var t,r=null===(t=e.value)||void 0===t?void 0:t.trim();if((r=r.replace(/^/,"$1"))===n)return i=!0,!1;if(r===O)return i=!1,!1}return!i}))}}))}},ac={}.hasOwnProperty,sc=n(7278),cc=n(4571),lc=n(1060);function uc(){uc=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,O){var i=new RegExp(e,r);return t.set(i,O||t.get(e)),dc(i,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce((function(t,n){return t[n]=e[r[n]],t}),Object.create(null))}return pc(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);return n&&(n.groups=r(n,this)),n},n.prototype[Symbol.replace]=function(n,O){if("string"==typeof O){var i=t.get(this);return e[Symbol.replace].call(this,n,O.replace(/\$<([^>]+)>/g,(function(e,t){return"$"+i[t]})))}if("function"==typeof O){var o=this;return e[Symbol.replace].call(this,n,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(r(e,o)),O.apply(this,e)}))}return e[Symbol.replace].call(this,n,O)},uc.apply(this,arguments)}function pc(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&dc(e,t)}function dc(e,t){return dc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},dc(e,t)}function hc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=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.")}var mc=function(e){return function(t){return void 0===t&&(t={}),function(e){Ai(e,"element",n)};function n(n,r,O){if(O&&"pre"===O.tagName&&"code"===n.tagName){var i=n.data&&n.data.meta?n.data.meta:"";n.properties.className?"boolean"==typeof n.properties.className?n.properties.className=[]:Array.isArray(n.properties.className)||(n.properties.className=[n.properties.className]):n.properties.className=[],n.properties.className.push("code-highlight");var o,a,s=function(e){for(var t,n=fc(e.properties.className);!(t=n()).done;){var r=t.value;if("language-"===r.slice(0,9))return r.slice(9).toLowerCase()}return null}(n);if(s)try{var c;c=null!=s&&s.includes("diff-")?s.split("-")[1]:s,o=e.highlight(Is(n),c),O.properties.className=(O.properties.className||[]).concat("language-"+c)}catch(Q){if(!t.ignoreMissing||!/Unknown language/.test(Q.message))throw Q;o=n}else o=n;o.children=(a=1,function e(t){return t.reduce((function(t,n){if("text"===n.type){var r=n.value,O=(r.match(/\n/g)||"").length;if(0===O)n.position={start:{line:a,column:1},end:{line:a,column:1}},t.push(n);else for(var i,o=r.split("\n"),s=fc(o.entries());!(i=s()).done;){var c=i.value,l=c[0],u=c[1];t.push({type:"text",value:l===o.length-1?u:u+"\n",position:{start:{line:a+l,column:1},end:{line:a+l,column:1}}})}return a+=O,t}if(Object.prototype.hasOwnProperty.call(n,"children")){var p=a;return n.children=e(n.children),t.push(n),n.position={start:{line:p,column:1},end:{line:a,column:1}},t}return t.push(n),t}),[])})(o.children),o.position=o.children.length>0?{start:{line:o.children[0].position.start.line,column:0},end:{line:o.children[o.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var l,u=function(e){var t=/{([\d,-]+)}/,n=e.split(",").map((function(e){return e.trim()})).join();if(t.test(n)){var r=t.exec(n)[1],O=sc(r);return function(e){return O.includes(e+1)}}return function(){return!1}}(i),p=function(e){var t=uc(/showLineNumbers=([0-9]+)/i,{lines:1});if(t.test(e)){var n=t.exec(e);return Number(n.groups.lines)}return 1}(i),d=function(e){for(var t=new Array(e),n=0;n0&&0===c.length)return null}var l={};for(s in t)ac.call(t,s)&&(l[s]="children"===s?c:t[s]);return l}(e)}(o,(function(e){return e.position.start.line<=n+1&&e.position.end.line>=n+1}));r.children=O.children,!i.toLowerCase().includes("showLineNumbers".toLowerCase())&&!t.showLineNumbers||h.some((function(e){return i.toLowerCase().includes(e)}))||(r.properties.line=[(n+p).toString()],r.properties.className.push("line-number")),u(n)&&r.properties.className.push("highlight-line"),("diff"===s||null!=s&&s.includes("diff-"))&&"-"===Is(r).substring(0,1)?r.properties.className.push("deleted"):("diff"===s||null!=s&&s.includes("diff-"))&&"+"===Is(r).substring(0,1)&&r.properties.className.push("inserted")},m=fc(d.entries());!(l=m()).done;)f();d.length>0&&""===Is(d[d.length-1]).trim()&&d.pop(),n.children=d}}}},Qc=(mc(cc.$),mc(lc.$)),$c="\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc",gc="A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff",Pc=new RegExp("^[^"+gc+"]*["+$c+"]"),vc=new RegExp("^[^"+$c+"]*["+gc+"]");var yc=Ms();function bc(e,t){var n,r,O=e.schema,i=e.language,o=e.direction,a=e.editableOrEditingHost;if(yc(t)&&t.properties){var s=t.properties.xmlLang||t.properties.lang,c=t.properties.type||"text",l=Tc(t);void 0!==s&&null!==s&&(e.language=String(s),r=!0),O&&"html"===O.space?("true"===t.properties.contentEditable&&(e.editableOrEditingHost=!0,r=!0),Ls(t,"svg")&&(e.schema=lo.YP,r=!0),"rtl"===l?n=l:"ltr"===l||"auto"!==l&&Ls(t,"html")||"auto"!==l&&Ls(t,"input")&&"tel"===c?n="ltr":("auto"===l||Ls(t,"bdi"))&&(Ls(t,"textarea")?n=Sc(Is(t)):!Ls(t,"input")||"email"!==c&&"search"!==c&&"tel"!==c&&"text"!==c?Ai(t,(function(e){if("text"===e.type)return(n=Sc(e.value))?zi:null;if(e!==t&&(Ls(e,["bdi","script","style","textare"])||Tc(e)))return Ci})):n=t.properties.value?Sc(t.properties.value):"ltr"),n&&(e.direction=n,r=!0)):e.editableOrEditingHost&&(e.editableOrEditingHost=!1,r=!0)}return r?function(){e.schema=O,e.language=i,e.direction=o,e.editableOrEditingHost=a}:xc}function Sc(e){var t=function(e){var t=String(e||"");return Pc.test(t)?"rtl":vc.test(t)?"ltr":"neutral"}(e);return"neutral"===t?void 0:t}function Tc(e){var t=yc(e)&&e.properties&&"string"===typeof e.properties.dir?e.properties.dir.toLowerCase():void 0;return"auto"===t||"ltr"===t||"rtl"===t?t:void 0}function xc(){}var wc={}.hasOwnProperty,Xc=Ss("nestingOperator",{unknown:function(e){throw new Error("Unexpected nesting `"+e.nestingOperator+"`")},invalid:function(e,t,n,r,O){if(r||null===n)throw new Error("topScan is supposed to be called from the root node");if(!O.iterator)throw new Error("Expected `iterator`");O.iterator(e,t,n,r,O),O.shallow||_c(e,t,n,r,O)},handlers:{null:_c,">":Rc,"+":function(e,t,n,r,O){if(!r||null===n)return;Zc(e,r,O,n+1,!0)},"~":function(e,t,n,r,O){if(!r||null===n)return;Zc(e,r,O,n+1)}}});function kc(e,t,n,r,O){Xc(e,t,n,r,O)}function _c(e,t,n,r,O){var i=O.iterator;O.iterator=function e(t,n,r,O,o){if(!i)throw new Error("Expected `iterator`");if(o.iterator=i,i(t,n,r,O,o),o.iterator=e,o.one&&o.found)return;Rc(t,n,r,O,o)},Rc(e,t,n,r,O)}function Rc(e,t,n,r,O){(function(e){return Array.isArray(e.children)})(t)&&0!==t.children.length&&Zc(e,t,O)}function Zc(e,t,n,r,O){var i=n.index?function(e,t){var r=a,O=wc.call(c,e.tagName)?c[e.tagName]:0;h(e.tagName),l.push((function(){n.elementIndex=r,n.typeIndex=O,n.elementCount=a,n.typeCount=c[e.tagName],d(e,t)}))}:d,o=t.children,a=0,s=-1,c={},l=[];if(void 0!==r&&null!==r||(r=0),!(r>=o.length)){if(n.index)for(;++s0;return O.shallow=i,O.one=o,O.scopeElements=a,c},lang:function(e,t,n,r,O){return""!==O.language&&void 0!==O.language&&null!==O.language&&Uc(O.language,(0,go.Q)(e.value)).length>0},"last-child":function(e,t,n,r,O){return Ic(O,e),Boolean(O.elementCount&&O.elementIndex===O.elementCount-1)},"last-of-type":function(e,t,n,r,O){return Ic(O,e),"number"===typeof O.typeIndex&&"number"===typeof O.typeCount&&O.typeIndex===O.typeCount-1},matches:zc,not:function(e,t,n,r,O){return!zc(e,t,n,r,O)},"nth-child":function(e,t,n,r,O){return Ic(O,e),"number"===typeof O.elementIndex&&e.value(O.elementIndex)},"nth-last-child":function(e,t,n,r,O){return Ic(O,e),Boolean("number"===typeof O.elementCount&&"number"===typeof O.elementIndex&&e.value(O.elementCount-O.elementIndex-1))},"nth-of-type":function(e,t,n,r,O){return Ic(O,e),"number"===typeof O.typeIndex&&e.value(O.typeIndex)},"nth-last-of-type":function(e,t,n,r,O){return Ic(O,e),"number"===typeof O.typeCount&&"number"===typeof O.typeIndex&&e.value(O.typeCount-1-O.typeIndex)},"only-child":function(e,t,n,r,O){return Ic(O,e),1===O.elementCount},"only-of-type":function(e,t,n,r,O){return Ic(O,e),1===O.typeCount},optional:function(e,t){return!Ac(e,t)},"read-only":function(e,t,n,r,O){return!jc(e,t,n,r,O)},"read-write":jc,required:Ac,root:function(e,t,n,r,O){return Boolean((!r||"root"===r.type)&&O.schema&&("html"===O.schema.space||"svg"===O.schema.space)&&Ls(t,["html","svg"]))},scope:function(e,t,n,r,O){return Boolean(Ls(t)&&O.scopeElements&&O.scopeElements.includes(t))}}});function Cc(e,t,n,r,O){for(var i=e.pseudos,o=-1;++o=n};var r=Math.abs(t),O=(n%r+r)%r;return t>1?function(e){return e>=n&&e%r===O}:function(e){return e<=n&&e%r===O}}(function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,n=0,r=i(),O=o();if(t=el&&e.charCodeAt(t)<=tl;)r=10*r+(e.charCodeAt(t)-el),t++;return t===n?null:r}function a(){for(;t","+","~");var ll=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t.forEach((function(t){"text"===t.type?n+=t.value:"element"===t.type&&t.children&&Array.isArray(t.children)&&(n+=e(t.children))})),n},ul=function(e){var t=e||{},n=t.selector,r=t.rewrite;return function(e){if(r&&"function"===typeof r)if(n&&"string"===typeof n){var t=cl(n,e);t&&t.length>0&&Ai(e,t,(function(e,t,n){r(e,t,n)}))}else Ai(e,(function(e,t,n){r(e,t,n)}))}},pl={type:"element",tagName:"svg",properties:{className:"octicon octicon-link",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16",ariaHidden:"true"},children:[{type:"element",tagName:"path",children:[],properties:{fillRule:"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"}}]};var dl=n(8497),hl=n.n(dl);var fl=function(e){return void 0===e&&(e={}),function(e){Ai(e,(function(e){"element"===e.type&&"code"===e.tagName&&e.data&&e.data.meta&&(e.properties=(0,bn.Z)({},e.properties,{"data-meta":String(e.data.meta)}))}))}},ml=["prefixCls","className","source","style","disableCopy","skipHtml","onScroll","onMouseOver","pluginsFilter","rehypeRewrite","warpperElement"],Ql=s.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"wmde-markdown wmde-markdown-color":n,O=e.className,i=e.source,o=e.style,a=e.disableCopy,c=void 0!==a&&a,u=e.skipHtml,p=void 0===u||u,d=e.onScroll,h=e.onMouseOver,f=e.pluginsFilter,m=e.rehypeRewrite,Q=e.warpperElement,$=void 0===Q?{}:Q,g=(0,Sn.Z)(e,ml),P=s.useRef(null);(0,s.useImperativeHandle)(t,(function(){return(0,bn.Z)({},e,{mdp:P})}),[P,e]);var v=(r||"")+" "+(O||"");!function(e){var t=(0,s.useCallback)((function(e){var t=e.currentTarget||e.target;t.classList.add("active"),hl()(t.dataset.code,(function(){setTimeout((function(){t.classList.remove("active")}),2e3)}))}),[]);(0,s.useEffect)((function(){var n,r=null==(n=e.current)?void 0:n.querySelectorAll("pre code + div.copied");return r&&Array.from(r).forEach((function(e){return e.addEventListener("click",t,!1)})),function(){r&&Array.from(r).forEach((function(e){return e.removeEventListener("click",t,!1)}))}}),[e])}(P);var y=[fl,[Qc,{ignoreMissing:!0}],Fs,ec,oc,[ul,{rewrite:function(e,t,n){if("element"===e.type&&n&&"root"===n.type&&/h(1|2|3|4|5|6)/.test(e.tagName)){var r=e.children&&e.children[0];r&&r.properties&&"true"===r.properties.ariaHidden&&(r.properties=(0,bn.Z)({class:"anchor"},r.properties),r.children=[pl])}if("element"===e.type&&"pre"===e.tagName&&!c){var O=ll(e.children);e.children.push((void 0===(i=O)&&(i=""),{type:"element",tagName:"div",properties:{class:"copied","data-code":i},children:[{type:"element",tagName:"svg",properties:{className:"octicon-copy",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"},children:[]},{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"},children:[]}]},{type:"element",tagName:"svg",properties:{className:"octicon-check",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"},children:[]}]}]}))}var i;m&&m(e,t,n)}}],[ic,{properties:"attr"}]].concat((0,l.Z)(g.rehypePlugins||[])),b={allowElement:function(e,t,n){return g.allowElement?g.allowElement(e,t,n):/^[A-Za-z0-9]+$/.test(e.tagName)}};p&&y.push(Cs);var S=[].concat((0,l.Z)(g.remarkPlugins||[]),[es]);return(0,wn.jsx)("div",(0,bn.Z)({ref:P,onScroll:d,onMouseOver:h},$,{className:v,style:o,children:(0,wn.jsx)(_o,(0,bn.Z)({},b,g,{skipHtml:p,rehypePlugins:f?f("rehype",y):y,remarkPlugins:f?f("remark",S):S,children:i||""}))}))})),$l=n(726),gl=n(6250),Pl=n(9973),vl=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],yl=["#F0F8FF","#FAEBD7","#00FFFF","#7FFFD4","#F0FFFF","#F5F5DC","#FFE4C4","#000000","#FFEBCD","#0000FF","#8A2BE2","#A52A2A","#DEB887","#5F9EA0","#7FFF00","#D2691E","#FF7F50","#6495ED","#FFF8DC","#DC143C","#00FFFF","#00008B","#008B8B","#B8860B","#A9A9A9","#006400","#A9A9A9","#BDB76B","#8B008B","#556B2F","#FF8C00","#9932CC","#8B0000","#E9967A","#8FBC8F","#483D8B","#2F4F4F","#2F4F4F","#00CED1","#9400D3","#FF1493","#00BFFF","#696969","#696969","#1E90FF","#B22222","#FFFAF0","#228B22","#FF00FF","#DCDCDC","#F8F8FF","#FFD700","#DAA520","#808080","#008000","#ADFF2F","#808080","#F0FFF0","#FF69B4","#CD5C5C","#4B0082","#FFFFF0","#F0E68C","#E6E6FA","#FFF0F5","#7CFC00","#FFFACD","#ADD8E6","#F08080","#E0FFFF","#FAFAD2","#D3D3D3","#90EE90","#D3D3D3","#FFB6C1","#FFA07A","#20B2AA","#87CEFA","#778899","#778899","#B0C4DE","#FFFFE0","#00FF00","#32CD32","#FAF0E6","#FF00FF","#800000","#66CDAA","#0000CD","#BA55D3","#9370DB","#3CB371","#7B68EE","#00FA9A","#48D1CC","#C71585","#191970","#F5FFFA","#FFE4E1","#FFE4B5","#FFDEAD","#000080","#FDF5E6","#808000","#6B8E23","#FFA500","#FF4500","#DA70D6","#EEE8AA","#98FB98","#AFEEEE","#DB7093","#FFEFD5","#FFDAB9","#CD853F","#FFC0CB","#DDA0DD","#B0E0E6","#800080","#663399","#FF0000","#BC8F8F","#4169E1","#8B4513","#FA8072","#F4A460","#2E8B57","#FFF5EE","#A0522D","#C0C0C0","#87CEEB","#6A5ACD","#708090","#708090","#FFFAFA","#00FF7F","#4682B4","#D2B48C","#008080","#D8BFD8","#FF6347","#40E0D0","#EE82EE","#F5DEB3","#FFFFFF","#F5F5F5","#FFFF00","#9ACD32"],bl=/hsla?\(\s*(\+?-?\d*\.?\d*(?:e\+)?(?:\d*)?(?:deg|rad|grad|turn)?)\s*,\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*,\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(,\s*\+?\-?\s*(?:\d*\.?\d*(?:E-\d*)?%?)?)?\s*\)/i,Sl=/hsla?\(\s*(\+?-?\d*\.?\d*(?:e\+)?(?:\d*)?(?:deg|rad|grad|turn)?)\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(\/\s*\+?\-?\s*(?:\d*\.?\d*(?:E-\d*)?%?)?)?\s*\)/i,Tl=function(e){return e?e.replace(/^(,|\/)\s*/,"").trim():e};function xl(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=bl.exec(e)||Sl.exec(e);if(t){var n=(0,a.Z)(t,5),r=(n[0],n[1]),O=n[2],i=n[3],o=n[4];if(o&&/^(:?(\/|,)\s*-?\+?)$/.test(o.trim()))return;return{h:r,s:O,l:i,a:Tl(o)}}}function wl(e){var t=xl(e);if(t){var n,r=t.h,O=t.s,i=t.l,o=t.a,a=0,s=0,c=0;/\s*\d*turn\s*$/.test(r)?a=360*Number(r.replace(/turn\s*$/i,"")):/\s*\d*grad\s*$/.test(r)?a=function(e){var t=Number(e);(t%=400)<0&&(t+=400);return t/400*360}(r.replace(/grad\s*$/i,"")):/\s*\d*rad\s*$/.test(r)&&(n=Number(r.replace(/rad\s*$/i,"")),a=Number((n*(180/Math.PI)).toFixed())),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)$/.test(r.replace(/deg$/i,""))&&(a=Number(r.replace(/deg$/i,""))),a>360&&(a=360),a<0&&(a=0),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)%$/.test(O)&&(s=Number(O.replace(/%$/,""))),s>100&&(s=100),s<0&&(s=0),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)%$/.test(i)&&(c=Number(i.replace(/%$/,""))),c>100&&(c=100),c<0&&(c=0),c/=100;var l=function(e){return(e+a/30)%12},u=(s/=100)*Math.min(c,1-c),p=function(e){return c-u*Math.max(-1,Math.min(l(e)-3,Math.min(9-l(e),1)))},d=function(e){return Number(e.toFixed())};if(o&&/^\+?-?\d*(E-\d*|.\d*%?)?$/.test(o)){var h=/%/g.test(o)?Number(o.replace(/%/g,""))/100:Number(o);return{r:d(255*p(0)),g:d(255*p(8)),b:d(255*p(4)),a:h}}return{r:d(255*p(0)),g:d(255*p(8)),b:d(255*p(4))}}}function Xl(e){return 4===e.length?["#"+e[1].repeat(2)+e[2].repeat(2)+e[3].repeat(2),""]:5===e.length?["#"+e[1].repeat(2)+e[2].repeat(2)+e[3].repeat(2),e[4].repeat(2)]:9===e.length?["#"+e.slice(1,-2),e.slice(-2)]:[e,""]}function kl(e,t,n){return"#"+((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}function _l(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}var Rl,Zl=["color","colorRaw"];!function(e){e.rgb="RGB",e.hex="HEX",e.named="NAMED",e.hsl="HSL"}(Rl||(Rl={}));var El=new WeakMap;function Ul(e){var t,n=[],r=(0,$l.Z)(e.visibleRanges);try{for(r.s();!(t=r.n()).done;){var O=t.value;(0,Pl.qz)(e.state).iterate({from:O.from,to:O.to,enter:function(t){var r=t.type,O=t.from,i=t.to,o=e.state.doc.sliceString(O,i);if("CallExpression"===r.name&&o.startsWith("rgb")){var s=/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*(,\s*\d*\.\d*\s*)?\)/i.exec(o)||/rgba?\(\s*(\d{1,3})\s*(\d{1,3})\s*(\d{1,3})\s*(\/?\s*\d+%)?(\/\s*\d+\.\d\s*)?\)/i.exec(o);if(!s)return;var c=(0,a.Z)(s,5),l=(c[0],c[1]),u=c[2],p=c[3],d=c[4],h=kl(Number(l),Number(u),Number(p)),f=gl.p.widget({widget:new ql({colorType:Rl.rgb,color:h,colorRaw:o,from:O,to:i,alpha:d?d.replace(/(\/|,)/g,""):""}),side:0});n.push(f.range(O))}else if("CallExpression"===r.name&&xl(o)){var m=wl(o);if(!m)return;var Q=m.r,$=m.g,g=m.b,P=kl(Number(Q),Number($),Number(g)),v=gl.p.widget({widget:new ql({colorType:Rl.hsl,color:P,colorRaw:o,from:O,to:i,alpha:m.a?m.a.toString():""}),side:0});n.push(v.range(O))}else if("ColorLiteral"===r.name){var y=Xl(o),b=(0,a.Z)(y,2),S=b[0],T=b[1],x=gl.p.widget({widget:new ql({colorType:Rl.hex,color:S,colorRaw:o,from:O,to:i,alpha:T}),side:0});n.push(x.range(O))}else if("ValueName"===r.name){var w=o;if(vl.includes(w)){var X=gl.p.widget({widget:new ql({colorType:Rl.named,color:yl[vl.indexOf(w)],colorRaw:o,from:O,to:i,alpha:""}),side:0});n.push(X.range(O))}}}})}}catch(i){r.e(i)}finally{r.f()}return gl.p.set(n)}var Wl,ql=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;(0,u.Z)(this,n);var O=e.color,i=e.colorRaw,o=(0,Sn.Z)(e,Zl);return(r=t.call(this)).state=void 0,r.color=void 0,r.colorRaw=void 0,r.state=o,r.color=O,r.colorRaw=i,r}return(0,p.Z)(n,[{key:"eq",value:function(e){return e.state.colorType===this.state.colorType&&e.color===this.color&&e.state.from===this.state.from&&e.state.to===this.state.to&&e.state.alpha===this.state.alpha}},{key:"toDOM",value:function(){var e=document.createElement("input");El.set(e,this.state),e.type="color",e.value=this.color,e.dataset.color=this.color,e.dataset.colorraw=this.colorRaw;var t=document.createElement("span");return t.appendChild(e),t.dataset.color=this.color,t.style.backgroundColor=this.colorRaw,t}},{key:"ignoreEvent",value:function(){return!1}}]),n}(gl.l9),Cl=gl.tk.baseTheme({"span[data-color]":{width:"12px",height:"12px",display:"inline-block",borderRadius:"2px",marginRight:"0.5ch",outline:"1px solid #00000040",overflow:"hidden",verticalAlign:"middle",marginTop:"-2px"},'span[data-color] input[type="color"]':{background:"transparent",display:"block",border:"none",outline:"0",paddingLeft:"24px",height:"12px"},'span[data-color] input[type="color"]::-webkit-color-swatch':{border:"none",paddingLeft:"24px"}}),zl=[(void 0===Wl&&(Wl=!0),gl.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=Ul(t)}return(0,p.Z)(e,[{key:"update",value:function(e){(e.docChanged||e.viewportChanged)&&(this.decorations=Ul(e.view));var t="true"===e.view.contentDOM.ariaReadOnly,n="true"===e.view.contentDOM.contentEditable,r=!1===t&&n;this.changePicker(e.view,r)}},{key:"changePicker",value:function(e,t){e.contentDOM.querySelectorAll("input[type=color]").forEach((function(e){Wl&&t?e.removeAttribute("disabled"):e.setAttribute("disabled","")}))}}]),e}(),{decorations:function(e){return e.decorations},eventHandlers:{change:function(e,t){var n=e.target;if("INPUT"!==n.nodeName||!n.parentElement||!n.dataset.color&&!n.dataset.colorraw)return!1;var r=El.get(n),O=n.value,i=_l(O),o=n.dataset.colorraw,a=(n.dataset.colorraw||"").indexOf("/")>4,s=(n.dataset.colorraw||"").indexOf(",")>4,c=n.value;if(r.colorType===Rl.rgb){var l=null!=o&&o.match(/^(rgba?)/)?null==o?void 0:o.match(/^(rgba?)/)[0]:void 0;c=s?i?l+"("+i.r+", "+i.g+", "+i.b+(r.alpha?", "+r.alpha.trim():"")+")":O:a?i?l+"("+i.r+" "+i.g+" "+i.b+(r.alpha?" / "+r.alpha.trim():"")+")":O:i?l+"("+i.r+" "+i.g+" "+i.b+")":O}else if(r.colorType===Rl.hsl){var u=_l(O);if(u){var p=function(e,t,n){e/=255,t/=255,n/=255;var r,O=Math.max(e,t,n),i=Math.min(e,t,n),o=0,a=(O+i)/2;if(O==i)o=r=0;else{var s=O-i;switch(r=a>.5?s/(2-O-i):s/(O+i),O){case e:o=(t-n)/s+(t\n \n \"react-codemirror\n \n

\n\n# react-codemirror\n\n[![jsdelivr CDN](https://data.jsdelivr.com/v1/package/npm/@uiw/react-codemirror/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@uiw/react-codemirror)\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Build & Deploy](https://github.com/uiwjs/react-codemirror/workflows/Build%20&%20Deploy/badge.svg)](https://github.com/uiwjs/react-codemirror/actions)\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-codemirror/file/README.md)\n[![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Coverage Status](https://uiwjs.github.io/react-codemirror/coverage/badges.svg)](https://uiwjs.github.io/react-codemirror/coverage/lcov-report/)\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-codemirror)\n\nCodeMirror component for React. Demo Preview: [@uiwjs.github.io/react-codemirror](https://uiwjs.github.io/react-codemirror/)\n\n> \u26a0\ufe0f The [`v3`](https://raw.githack.com/uiwjs/react-codemirror/doc3/index.html) version document preview is [here](https://raw.githack.com/uiwjs/react-codemirror/doc3/index.html).\n\n\x3c!--rehype:style=border-left: 8px solid #ffe564;background-color: #ffe56440;padding: 12px 16px;--\x3e\n\n**Features:**\n\n\ud83d\ude80 Quickly and easily configure the API. \n\ud83c\udf31 Versions after `@uiw/react-codemirror@v4`\x3c!--rehype:style=background-color: #ffe564; padding: 1px 4px;--\x3e use [codemirror 6](https://codemirror.net/). [#88](https://github.com/uiwjs/react-codemirror/issues/88#issuecomment-914185563). \n\u269b\ufe0f Support the features of React Hook(requires React 16.8+). \n\ud83d\udcda Use Typescript to write, better code hints. \n\ud83c\udf10 The bundled version supports use directly in the browser [#267](https://github.com/uiwjs/react-codemirror/issues/267#issuecomment-1041227592). \n\ud83c\udf0e There are better [sample previews](https://uiwjs.github.io/react-codemirror). \n\ud83c\udfa8 Support [theme](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) customization, provide theme [editor](https://uiwjs.github.io/react-codemirror/#/theme/editor).\n\n## Install\n\n**Not dependent on uiw.**\n\n```bash\nnpm install @uiw/react-codemirror --save\n```\n\n**All Packages**\n\n| Name | NPM Version | Website |\n| :------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |\n| `@uiw/react-codemirror` | [![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror) | [`#preview`](https://uiwjs.github.io/react-codemirror/) |\n| `@uiw/codemirror-extensions-basic-setup` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-basic-setup.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/basic-setup) |\n| `@uiw/codemirror-extensions-color` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-color.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/color) |\n| `@uiw/codemirror-extensions-events` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-events.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/events) |\n| `@uiw/codemirror-extensions-hyper-link` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-hyper-link.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/hyper-link) |\n| `@uiw/codemirror-extensions-langs` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-langs.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/languages) |\n| `@uiw/codemirror-extensions-line-numbers-relative` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-line-numbers-relative.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative) |\n| `@uiw/codemirror-extensions-mentions` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-mentions.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/mentions) |\n| `@uiw/codemirror-extensions-zebra-stripes` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-zebra-stripes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes) |\n| `@uiw/codemirror-themes` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/doc) |\n\n| Name | NPM Version | Website |\n| :---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| `@uiw/codemirror-themes-all` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes-all.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/all) |\n| `@uiw/codemirror-theme-abcdef` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abcdef.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/abcdef) |\n| `@uiw/codemirror-theme-androidstudio` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-androidstudio.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) |\n| `@uiw/codemirror-theme-atomone` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-atomone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/atomone) |\n| `@uiw/codemirror-theme-aura` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-aura.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/aura) |\n| `@uiw/codemirror-theme-bbedit` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bbedit.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) |\n| `@uiw/codemirror-theme-bespin` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bespin.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) |\n| `@uiw/codemirror-theme-duotone` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-duotone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light) |\n| `@uiw/codemirror-theme-dracula` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-dracula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) |\n| `@uiw/codemirror-theme-darcula` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-darcula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/darcula) |\n| `@uiw/codemirror-theme-eclipse` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-eclipse.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/eclipse) |\n| `@uiw/codemirror-theme-github` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-github.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/github) |\n| `@uiw/codemirror-theme-gruvbox-dark` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-gruvbox-dark.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/gruvbox/dark) |\n| `@uiw/codemirror-theme-material` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-material.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/material/dark) |\n| `@uiw/codemirror-theme-noctis-lilac` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-noctis-lilac.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/noctis-lilac) |\n| `@uiw/codemirror-theme-nord` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-nord.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/nord) |\n| `@uiw/codemirror-theme-okaidia` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-okaidia.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) |\n| `@uiw/codemirror-theme-solarized` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-solarized.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/solarized/dark) |\n| `@uiw/codemirror-theme-sublime` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-sublime.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/sublime) |\n| `@uiw/codemirror-theme-tokyo-night` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night) |\n| `@uiw/codemirror-theme-tokyo-night-storm` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) |\n| `@uiw/codemirror-theme-tokyo-night-day` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) |\n| `@uiw/codemirror-theme-vscode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) |\n| `@uiw/codemirror-theme-xcode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) |\n\n\x3c!--rehype:style=width: 100%; display: inline-table;--\x3e\n\n## Usage\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-slvju?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx mdx:preview\nimport React from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n const onChange = React.useCallback((value, viewUpdate) => {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\nexport default App;\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-css`](https://www.npmjs.com/package/@codemirror/lang-css)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n- ~~`@codemirror/legacy-modes/mode/wast`~~ => [`@codemirror/lang-wast`](https://www.npmjs.com/package/@codemirror/lang-wast)\n\n### Markdown Example\n\nMarkdown language code is automatically highlighted.\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-markdown-auto-languages-iudnj?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { markdown, markdownLanguage } from '@codemirror/lang-markdown';\nimport { languages } from '@codemirror/language-data';\n\nconst code = `## Title\n\n\\`\\`\\`jsx\nfunction Demo() {\n return
demo
\n}\n\\`\\`\\`\n\n\\`\\`\\`bash\n# Not dependent on uiw.\nnpm install @codemirror/lang-markdown --save\nnpm install @codemirror/language-data --save\n\\`\\`\\`\n\n[weisit ulr](https://uiwjs.github.io/react-codemirror/)\n\n\\`\\`\\`go\npackage main\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}\n\\`\\`\\`\n`;\n\nexport default function App() {\n return ;\n}\n```\n\n## Support Hook\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-hook-yr4vg?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport { useEffect, useMemo, useRef } from 'react';\nimport { useCodeMirror } from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nconst code = \"console.log('hello world!');\\n\\n\\n\";\n// Define the extensions outside the component for the best performance.\n// If you need dynamic extensions, use React.useMemo to minimize reference changes\n// which cause costly re-renders.\nconst extensions = [javascript()];\n\nexport default function App() {\n const editor = useRef();\n const { setContainer } = useCodeMirror({\n container: editor.current,\n extensions,\n value: code,\n });\n\n useEffect(() => {\n if (editor.current) {\n setContainer(editor.current);\n }\n }, [editor.current]);\n\n return
;\n}\n```\n\n## Using Theme\n\nWe have created a [`theme editor`](https://uiwjs.github.io/react-codemirror/#/theme/editor) where you can define your own theme. We have also defined [some themes](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) ourselves, which can be installed and used directly. Below is a usage example:\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n return (\n \n );\n}\n```\n\n## Using custom theme\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n theme: 'light',\n settings: {\n background: '#ffffff',\n foreground: '#75baff',\n caret: '#5d00ff',\n selection: '#036dd626',\n selectionMatch: '#036dd626',\n lineHighlight: '#8a91991a',\n gutterBackground: '#fff',\n gutterForeground: '#8a919966',\n },\n styles: [\n { tag: t.comment, color: '#787b8099' },\n { tag: t.variableName, color: '#0080ff' },\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\n { tag: t.number, color: '#5c6166' },\n { tag: t.bool, color: '#5c6166' },\n { tag: t.null, color: '#5c6166' },\n { tag: t.keyword, color: '#5c6166' },\n { tag: t.operator, color: '#5c6166' },\n { tag: t.className, color: '#5c6166' },\n { tag: t.definition(t.typeName), color: '#5c6166' },\n { tag: t.typeName, color: '#5c6166' },\n { tag: t.angleBracket, color: '#5c6166' },\n { tag: t.tagName, color: '#5c6166' },\n { tag: t.attributeName, color: '#5c6166' },\n ],\n});\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n const onChange = React.useCallback((value, viewUpdate) => {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\n```\n\n## Use `initialState` to restore state from JSON-serialized representation\n\nCodeMirror allows to serialize editor state to JSON representation with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function for persistency or other needs. This JSON representation can be later used to recreate ReactCodeMirror component with the same internal state.\n\nFor example, this is how undo history can be saved in the local storage, so that it remains after the page reloads\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { historyField } from '@codemirror/commands';\n\n// When custom fields should be serialized, you can pass them in as an object mapping property names to fields.\n// See [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) documentation for more details\nconst stateFields = { history: historyField };\n\nexport function EditorWithInitialState() {\n const serializedState = localStorage.getItem('myEditorState');\n const value = localStorage.getItem('myValue') || '';\n\n return (\n {\n localStorage.setItem('myValue', value);\n\n const state = viewUpdate.state.toJSON(stateFields);\n localStorage.setItem('myEditorState', JSON.stringify(state));\n }}\n />\n );\n}\n```\n\n## Props\n\n\x3c!--rehype:style=background-color: #ffe564; display: inline-block; border-bottom: 0; padding: 3px 12px;--\x3e\n\n- `value?: string` value of the auto created model in the editor.\n- `width?: string` width of editor. Defaults to `auto`.\n- `height?: string` height of editor. Defaults to `auto`.\n- `theme?`: `'light'` / `'dark'` / `Extension` Defaults to `'light'`.\n\n```ts\nimport React from 'react';\nimport { EditorState, EditorStateConfig, Extension } from '@codemirror/state';\nimport { EditorView, ViewUpdate } from '@codemirror/view';\nexport * from '@codemirror/view';\nexport * from '@codemirror/basic-setup';\nexport * from '@codemirror/state';\nexport interface UseCodeMirror extends ReactCodeMirrorProps {\n container?: HTMLDivElement | null;\n}\nexport declare function useCodeMirror(props: UseCodeMirror): {\n state: EditorState | undefined;\n setState: import('react').Dispatch>;\n view: EditorView | undefined;\n setView: import('react').Dispatch>;\n container: HTMLDivElement | null | undefined;\n setContainer: import('react').Dispatch>;\n};\nexport interface ReactCodeMirrorProps\n extends Omit,\n Omit, 'onChange' | 'placeholder'> {\n /** value of the auto created model in the editor. */\n value?: string;\n height?: string;\n minHeight?: string;\n maxHeight?: string;\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n /** focus on the editor. */\n autoFocus?: boolean;\n /** Enables a placeholder\u2014a piece of example content to show when the editor is empty. */\n placeholder?: string | HTMLElement;\n /**\n * `light` / `dark` / `Extension` Defaults to `light`.\n * @default light\n */\n theme?: 'light' | 'dark' | Extension;\n /**\n * Whether to optional basicSetup by default\n * @default true\n */\n basicSetup?: boolean | BasicSetupOptions;\n /**\n * This disables editing of the editor content by the user.\n * @default true\n */\n editable?: boolean;\n /**\n * This disables editing of the editor content by the user.\n * @default false\n */\n readOnly?: boolean;\n /**\n * Whether to optional basicSetup by default\n * @default true\n */\n indentWithTab?: boolean;\n /** Fired whenever a change occurs to the document. */\n onChange?(value: string, viewUpdate: ViewUpdate): void;\n /** Some data on the statistics editor. */\n onStatistics?(data: Statistics): void;\n /** The first time the editor executes the event. */\n onCreateEditor?(view: EditorView, state: EditorState): void;\n /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */\n onUpdate?(viewUpdate: ViewUpdate): void;\n /**\n * Extension values can be [provided](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions) when creating a state to attach various kinds of configuration and behavior information.\n * They can either be built-in extension-providing objects,\n * such as [state fields](https://codemirror.net/6/docs/ref/#state.StateField) or [facet providers](https://codemirror.net/6/docs/ref/#state.Facet.of),\n * or objects with an extension in its `extension` property. Extensions can be nested in arrays arbitrarily deep\u2014they will be flattened when processed.\n */\n extensions?: Extension[];\n /**\n * If the view is going to be mounted in a shadow root or document other than the one held by the global variable document (the default), you should pass it here.\n * Originally from the [config of EditorView](https://codemirror.net/6/docs/ref/#view.EditorView.constructor%5Econfig.root)\n */\n root?: ShadowRoot | Document;\n /**\n * Create a state from its JSON representation serialized with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function\n */\n initialState?: {\n json: any;\n fields?: Record<'string', StateField>;\n };\n}\nexport interface ReactCodeMirrorRef {\n editor?: HTMLDivElement | null;\n state?: EditorState;\n view?: EditorView;\n}\ndeclare const ReactCodeMirror: React.ForwardRefExoticComponent<\n ReactCodeMirrorProps & React.RefAttributes\n>;\nexport default ReactCodeMirror;\nexport interface BasicSetupOptions {\n lineNumbers?: boolean;\n highlightActiveLineGutter?: boolean;\n highlightSpecialChars?: boolean;\n history?: boolean;\n foldGutter?: boolean;\n drawSelection?: boolean;\n dropCursor?: boolean;\n allowMultipleSelections?: boolean;\n indentOnInput?: boolean;\n syntaxHighlighting?: boolean;\n bracketMatching?: boolean;\n closeBrackets?: boolean;\n autocompletion?: boolean;\n rectangularSelection?: boolean;\n crosshairCursor?: boolean;\n highlightActiveLine?: boolean;\n highlightSelectionMatches?: boolean;\n closeBracketsKeymap?: boolean;\n defaultKeymap?: boolean;\n searchKeymap?: boolean;\n historyKeymap?: boolean;\n foldKeymap?: boolean;\n completionKeymap?: boolean;\n lintKeymap?: boolean;\n}\n```\n\n```ts\nimport { EditorSelection, SelectionRange } from '@codemirror/state';\nimport { ViewUpdate } from '@codemirror/view';\nexport interface Statistics {\n /** Get the number of lines in the editor. */\n lineCount: number;\n /** total length of the document */\n length: number;\n /** Get the proper [line-break](https://codemirror.net/docs/ref/#state.EditorState^lineSeparator) string for this state. */\n lineBreak: string;\n /** Returns true when the editor is [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. */\n readOnly: boolean;\n /** The size (in columns) of a tab in the document, determined by the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. */\n tabSize: number;\n /** Cursor Position */\n selection: EditorSelection;\n /** Make sure the selection only has one range. */\n selectionAsSingle: SelectionRange;\n /** Retrieves a list of all current selections. */\n ranges: readonly SelectionRange[];\n /** Get the currently selected code. */\n selectionCode: string;\n /**\n * The length of the given array should be the same as the number of active selections.\n * Replaces the content of the selections with the strings in the array.\n */\n selections: string[];\n /** Return true if any text is selected. */\n selectedText: boolean;\n}\nexport declare const getStatistics: (view: ViewUpdate) => Statistics;\n```\n\n### Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n"),Al=n(9098),jl=n(2029),Vl=function(e){var t=e.theme,n=e.settings,r=e.styles,O={"&":{backgroundColor:n.background,color:n.foreground},".cm-gutters":{}};n.fontFamily&&(O["&.cm-editor .cm-scroller"]={fontFamily:n.fontFamily}),n.gutterBackground&&(O[".cm-gutters"].backgroundColor=n.gutterBackground),n.gutterForeground&&(O[".cm-gutters"].color=n.gutterForeground),n.gutterBorder&&(O[".cm-gutters"].borderRightColor=n.gutterBorder),n.caret&&(O[".cm-content"]={caretColor:n.caret},O[".cm-cursor, .cm-dropCursor"]={borderLeftColor:n.caret});var i={};n.gutterActiveForeground&&(i.color=n.gutterActiveForeground),n.lineHighlight&&(O[".cm-activeLine"]={backgroundColor:n.lineHighlight},i.backgroundColor=n.lineHighlight),O[".cm-activeLineGutter"]=i,n.selection&&(O["&.cm-focused .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={backgroundColor:n.selection}),n.selectionMatch&&(O["& .cm-selectionMatch"]={backgroundColor:n.selectionMatch});var o=gl.tk.theme(O,{dark:"dark"===t}),a=Pl.Qf.define(r);return[o,(0,Pl.nF)(a)]},Il=Vl,Nl=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#0f0f0f",foreground:"#defdef",caret:"#00FF00",selection:"#515151",selectionMatch:"#515151",gutterBackground:"#555",gutterForeground:"#FFFFFF",lineHighlight:"#314151"},i),styles:[{tag:jl.pJ.keyword,color:"darkgoldenrod",fontWeight:"bold"},{tag:jl.pJ.atom,color:"#77F"},{tag:jl.pJ.comment,color:"#7a7b7c",fontStyle:"italic"},{tag:jl.pJ.number,color:"violet"},{tag:jl.pJ.definition(jl.pJ.variableName),color:"#fffabc"},{tag:jl.pJ.variableName,color:"#abcdef"},{tag:jl.pJ.function(jl.pJ.variableName),color:"#fffabc"},{tag:jl.pJ.typeName,color:"#FFDD44"},{tag:jl.pJ.tagName,color:"#def"},{tag:jl.pJ.string,color:"#2b4"},{tag:jl.pJ.meta,color:"#C9F"},{tag:jl.pJ.bracket,color:"#8a8a8a"},{tag:jl.pJ.attributeName,color:"#DDFF00"},{tag:jl.pJ.heading,color:"aquamarine",fontWeight:"bold"},{tag:jl.pJ.link,color:"blueviolet",fontWeight:"bold"}].concat((0,l.Z)(a))})},Gl=Nl(),Dl=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#282b2e",foreground:"#a9b7c6",caret:"#00FF00",selection:"#343739",selectionMatch:"#343739",lineHighlight:"#343739"},i),styles:[{tag:[jl.pJ.keyword,jl.pJ.deleted,jl.pJ.className],color:"#cc7832"},{tag:[jl.pJ.number,jl.pJ.literal,jl.pJ.derefOperator],color:"#6897bb"},{tag:[jl.pJ.link,jl.pJ.variableName],color:"#629755"},{tag:[jl.pJ.comment,jl.pJ.quote],color:"grey"},{tag:[jl.pJ.meta,jl.pJ.documentMeta],color:"#bbb529"},{tag:[jl.pJ.string,jl.pJ.propertyName,jl.pJ.attributeValue],color:"#6a8759"},{tag:[jl.pJ.heading,jl.pJ.typeName],color:"#ffc66d"},{tag:[jl.pJ.attributeName],color:"#a9b7c6"},{tag:[jl.pJ.emphasis],fontStyle:"italic"}].concat((0,l.Z)(a))})},Fl=Dl(),Ll=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#272C35",foreground:"#9d9b97",caret:"#797977",selection:"#ffffff30",selectionMatch:"#2B323D",gutterBackground:"#272C35",gutterForeground:"#465063",gutterBorder:"transparent",lineHighlight:"#2B323D"},i),styles:[{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.function(jl.pJ.propertyName),jl.pJ.url,jl.pJ.processingInstruction],color:"hsl(207, 82%, 66%)"},{tag:[jl.pJ.tagName,jl.pJ.heading],color:"#e06c75"},{tag:jl.pJ.comment,color:"#54636D"},{tag:[jl.pJ.propertyName],color:"hsl(220, 14%, 71%)"},{tag:[jl.pJ.attributeName,jl.pJ.number],color:"hsl( 29, 54%, 61%)"},{tag:jl.pJ.className,color:"hsl( 39, 67%, 69%)"},{tag:jl.pJ.keyword,color:"hsl(286, 60%, 67%)"},{tag:[jl.pJ.string,jl.pJ.regexp,jl.pJ.special(jl.pJ.propertyName)],color:"#98c379"}].concat((0,l.Z)(a))})},Ml=Ll(),Jl=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#21202e",foreground:"#edecee",caret:"#a277ff",selection:"#3d375e7f",selectionMatch:"#3d375e7f",gutterBackground:"#21202e",gutterForeground:"#edecee",gutterBorder:"transparent",lineHighlight:"#a394f033"},i),styles:[{tag:jl.pJ.keyword,color:"#a277ff"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#edecee"},{tag:[jl.pJ.propertyName],color:"#ffca85"},{tag:[jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted,jl.pJ.special(jl.pJ.string)],color:"#61ffca"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.labelName],color:"#ffca85"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#61ffca"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#edecee"},{tag:[jl.pJ.className],color:"#82e2ff"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#61ffca"},{tag:[jl.pJ.typeName],color:"#82e2ff"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#a277ff"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#61ffca"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#6d6d6d"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#a277ff"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#edecee"},{tag:jl.pJ.invalid,color:"#ff6767"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"}].concat((0,l.Z)(a))})},Bl=Jl(),Hl=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#FFFFFF",foreground:"#000000",caret:"#FBAC52",selection:"#FFD420",selectionMatch:"#FFD420",gutterBackground:"#f5f5f5",gutterForeground:"#4D4D4C",gutterBorder:"transparent",lineHighlight:"#00000012"},i),styles:[{tag:[jl.pJ.meta,jl.pJ.comment],color:"#804000"},{tag:[jl.pJ.keyword,jl.pJ.strong],color:"#0000FF"},{tag:[jl.pJ.number],color:"#FF0080"},{tag:[jl.pJ.string],color:"#FF0080"},{tag:[jl.pJ.variableName],color:"#006600"},{tag:[jl.pJ.escape],color:"#33CC33"},{tag:[jl.pJ.tagName],color:"#1C02FF"},{tag:[jl.pJ.heading],color:"#0C07FF"},{tag:[jl.pJ.quote],color:"#000000"},{tag:[jl.pJ.list],color:"#B90690"},{tag:[jl.pJ.documentMeta],color:"#888888"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#0000A2"},{tag:[jl.pJ.definition(jl.pJ.typeName),jl.pJ.typeName],color:"#6D79DE"}].concat((0,l.Z)(a))})},Kl=Hl(),eu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#28211c",foreground:"#9d9b97",caret:"#797977",selection:"#36312e",selectionMatch:"#4f382b",gutterBackground:"#28211c",gutterForeground:"#666666",lineHighlight:"rgba(255, 255, 255, 0.1)"},i),styles:[{tag:[jl.pJ.atom,jl.pJ.number,jl.pJ.link,jl.pJ.bool],color:"#9b859d"},{tag:jl.pJ.comment,color:"#937121"},{tag:[jl.pJ.keyword,jl.pJ.tagName],color:"#cf6a4c"},{tag:jl.pJ.string,color:"#f9ee98"},{tag:jl.pJ.bracket,color:"#9d9b97"},{tag:[jl.pJ.variableName],color:"#5ea6ea"},{tag:jl.pJ.definition(jl.pJ.variableName),color:"#cf7d34"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.className],color:"#cf7d34"},{tag:[jl.pJ.propertyName,jl.pJ.attributeName],color:"#54be0d"}].concat((0,l.Z)(a))})},tu=eu(),nu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#2B2B2B",foreground:"#f8f8f2",caret:"#FFFFFF",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"rgba(255, 255, 255, 0.1)",gutterForeground:"#999",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},i),styles:[{tag:[jl.pJ.atom,jl.pJ.number],color:"#bd93f9"},{tag:[jl.pJ.comment],color:"#61A151"},{tag:[jl.pJ.string],color:"#6A8759"},{tag:[jl.pJ.variableName,jl.pJ.operator],color:"#A9B7C6"},{tag:[jl.pJ.meta,jl.pJ.className],color:"#A9B7C6"},{tag:[jl.pJ.propertyName],color:"#FFC66D"},{tag:[jl.pJ.keyword],color:"#CC7832"},{tag:[jl.pJ.tagName],color:"#ff79c6"},{tag:[jl.pJ.typeName],color:"#ffb86c"}].concat((0,l.Z)(a))})},ru=nu(),Ou=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},i),styles:[{tag:jl.pJ.comment,color:"#6272a4"},{tag:jl.pJ.string,color:"#f1fa8c"},{tag:jl.pJ.atom,color:"#bd93f9"},{tag:jl.pJ.meta,color:"#f8f8f2"},{tag:[jl.pJ.keyword,jl.pJ.operator,jl.pJ.tagName],color:"#ff79c6"},{tag:[jl.pJ.function(jl.pJ.propertyName),jl.pJ.propertyName],color:"#66d9ef"},{tag:[jl.pJ.definition(jl.pJ.variableName),jl.pJ.function(jl.pJ.variableName),jl.pJ.className,jl.pJ.attributeName],color:"#50fa7b"},{tag:jl.pJ.atom,color:"#bd93f9"}].concat((0,l.Z)(a))})},iu=Ou(),ou=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#faf8f5",foreground:"#b29762",caret:"#93abdc",selection:"#e3dcce",selectionMatch:"#e3dcce",gutterBackground:"#faf8f5",gutterForeground:"#cdc4b1",gutterBorder:"transparent",lineHighlight:"#EFEFEF"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.bracket],color:"#b6ad9a"},{tag:[jl.pJ.atom,jl.pJ.number,jl.pJ.keyword,jl.pJ.link,jl.pJ.attributeName,jl.pJ.quote],color:"#063289"},{tag:[jl.pJ.emphasis,jl.pJ.heading,jl.pJ.tagName,jl.pJ.propertyName,jl.pJ.variableName],color:"#2d2006"},{tag:[jl.pJ.typeName,jl.pJ.url,jl.pJ.string],color:"#896724"},{tag:[jl.pJ.operator,jl.pJ.string],color:"#1659df"},{tag:[jl.pJ.propertyName],color:"#b29762"},{tag:[jl.pJ.unit,jl.pJ.punctuation],color:"#063289"}].concat((0,l.Z)(a))})},au=ou(),su=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#2a2734",foreground:"#6c6783",caret:"#ffad5c",selection:"rgba(255, 255, 255, 0.1)",gutterBackground:"#2a2734",gutterForeground:"#545167",lineHighlight:"#36334280"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.bracket],color:"#6c6783"},{tag:[jl.pJ.atom,jl.pJ.number,jl.pJ.keyword,jl.pJ.link,jl.pJ.attributeName,jl.pJ.quote],color:"#ffcc99"},{tag:[jl.pJ.emphasis,jl.pJ.heading,jl.pJ.tagName,jl.pJ.propertyName,jl.pJ.className,jl.pJ.variableName],color:"#eeebff"},{tag:[jl.pJ.typeName,jl.pJ.url],color:"#7a63ee"},{tag:jl.pJ.operator,color:"#ffad5c"},{tag:jl.pJ.string,color:"#ffb870"},{tag:[jl.pJ.propertyName],color:"#9a86fd"},{tag:[jl.pJ.unit,jl.pJ.punctuation],color:"#e09142"}].concat((0,l.Z)(a))})},cu=su(),lu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#fff",foreground:"#000",caret:"#FFFFFF",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#f7f7f7",gutterForeground:"#999",lineHighlight:"#e8f2ff",gutterBorder:"transparent"},i),styles:[{tag:[jl.pJ.comment],color:"#3F7F5F"},{tag:[jl.pJ.documentMeta],color:"#FF1717"},{tag:jl.pJ.keyword,color:"#7F0055",fontWeight:"bold"},{tag:jl.pJ.atom,color:"#00f"},{tag:jl.pJ.number,color:"#164"},{tag:jl.pJ.propertyName,color:"#164"},{tag:[jl.pJ.variableName,jl.pJ.definition(jl.pJ.variableName)],color:"#0000C0"},{tag:jl.pJ.function(jl.pJ.variableName),color:"#0000C0"},{tag:jl.pJ.string,color:"#2A00FF"},{tag:jl.pJ.operator,color:"black"},{tag:jl.pJ.tagName,color:"#170"},{tag:jl.pJ.attributeName,color:"#00c"},{tag:jl.pJ.link,color:"#219"}].concat((0,l.Z)(a))})},uu=lu(),pu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#fff",foreground:"#24292e",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#6e7781"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.bracket],color:"#6a737d"},{tag:[jl.pJ.className,jl.pJ.propertyName],color:"#6f42c1"},{tag:[jl.pJ.variableName,jl.pJ.attributeName,jl.pJ.number,jl.pJ.operator],color:"#005cc5"},{tag:[jl.pJ.keyword,jl.pJ.typeName,jl.pJ.typeOperator,jl.pJ.typeName],color:"#d73a49"},{tag:[jl.pJ.string,jl.pJ.meta,jl.pJ.regexp],color:"#032f62"},{tag:[jl.pJ.name,jl.pJ.quote],color:"#22863a"},{tag:[jl.pJ.heading],color:"#24292e",fontWeight:"bold"},{tag:[jl.pJ.emphasis],color:"#24292e",fontStyle:"italic"},{tag:[jl.pJ.deleted],color:"#b31d28",backgroundColor:"ffeef0"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#e36209"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#032f62"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.invalid,color:"#cb2431"}].concat((0,l.Z)(a))})},du=pu(),hu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#0d1117",foreground:"#c9d1d9",caret:"#c9d1d9",selection:"#003d73",selectionMatch:"#003d73",lineHighlight:"#36334280"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.bracket],color:"#8b949e"},{tag:[jl.pJ.className,jl.pJ.propertyName],color:"#d2a8ff"},{tag:[jl.pJ.variableName,jl.pJ.attributeName,jl.pJ.number,jl.pJ.operator],color:"#79c0ff"},{tag:[jl.pJ.keyword,jl.pJ.typeName,jl.pJ.typeOperator,jl.pJ.typeName],color:"#ff7b72"},{tag:[jl.pJ.string,jl.pJ.meta,jl.pJ.regexp],color:"#a5d6ff"},{tag:[jl.pJ.name,jl.pJ.quote],color:"#7ee787"},{tag:[jl.pJ.heading],color:"#d2a8ff",fontWeight:"bold"},{tag:[jl.pJ.emphasis],color:"#d2a8ff",fontStyle:"italic"},{tag:[jl.pJ.deleted],color:"#ffdcd7",backgroundColor:"ffeef0"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#ffab70"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.invalid,color:"#f97583"}].concat((0,l.Z)(a))})},fu=hu(),mu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#bdae93",selectionMatch:"#bdae93",lineHighlight:"#3c3836",gutterBackground:"#282828",gutterForeground:"#7c6f64"},i),styles:[{tag:jl.pJ.keyword,color:"#fb4934"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.propertyName,jl.pJ.macroName],color:"#8ec07c"},{tag:[jl.pJ.variableName],color:"#83a598"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[jl.pJ.labelName],color:"#ebdbb2"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#d3869b"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#ebdbb2"},{tag:[jl.pJ.brace],color:"#ebdbb2"},{tag:[jl.pJ.annotation],color:"#fb4934d"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#d3869b"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#fabd2f"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#fb4934"},{tag:[jl.pJ.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[jl.pJ.squareBracket],color:"#fe8019"},{tag:[jl.pJ.angleBracket],color:"#83a598"},{tag:[jl.pJ.attributeName],color:"#8ec07c"},{tag:[jl.pJ.regexp],color:"#8ec07c"},{tag:[jl.pJ.quote],color:"#928374"},{tag:[jl.pJ.string],color:"#ebdbb2"},{tag:jl.pJ.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#d3869b"},{tag:[jl.pJ.meta],color:"#fabd2f"},{tag:[jl.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#fe8019"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[jl.pJ.heading1,jl.pJ.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#fabd2f"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#d3869b"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted],color:"#83a598"},{tag:[jl.pJ.contentSeparator],color:"#fb4934"},{tag:jl.pJ.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"}].concat((0,l.Z)(a))})},Qu=mu(),$u=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#ebdbb2",selectionMatch:"#bdae93",lineHighlight:"#ebdbb2",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},i),styles:[{tag:jl.pJ.keyword,color:"#9d0006"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.propertyName,jl.pJ.macroName],color:"#427b58"},{tag:[jl.pJ.variableName],color:"#076678"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[jl.pJ.labelName],color:"#3c3836"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#8f3f71"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#3c3836"},{tag:[jl.pJ.brace],color:"#3c3836"},{tag:[jl.pJ.annotation],color:"#9d0006"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#8f3f71"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#b57614"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#9d0006"},{tag:[jl.pJ.tagName],color:"#427b58",fontStyle:"bold"},{tag:[jl.pJ.squareBracket],color:"#af3a03"},{tag:[jl.pJ.angleBracket],color:"#076678"},{tag:[jl.pJ.attributeName],color:"#427b58"},{tag:[jl.pJ.regexp],color:"#427b58"},{tag:[jl.pJ.quote],color:"#928374"},{tag:[jl.pJ.string],color:"#3c3836"},{tag:jl.pJ.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#8f3f71"},{tag:[jl.pJ.meta],color:"#b57614"},{tag:[jl.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#af3a03"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#79740e"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#79740e"},{tag:[jl.pJ.heading1,jl.pJ.heading2],fontWeight:"bold",color:"#79740e"},{tag:[jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#b57614"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#b57614"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#8f3f71"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted],color:"#076678"},{tag:[jl.pJ.contentSeparator],color:"#9d0006"},{tag:jl.pJ.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"}].concat((0,l.Z)(a))})},gu=$u(),Pu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#2e3235",foreground:"#bdbdbd",caret:"#a0a4ae",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#2e3235",gutterForeground:"#999",gutterActiveForeground:"#4f5b66",lineHighlight:"#545b61"},i),styles:[{tag:jl.pJ.keyword,color:"#cf6edf"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#56c8d8"},{tag:[jl.pJ.propertyName],color:"#facf4e"},{tag:[jl.pJ.variableName],color:"#bdbdbd"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#56c8d8"},{tag:[jl.pJ.labelName],color:"#cf6edf"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#facf4e"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#fa5788"},{tag:[jl.pJ.brace],color:"#cf6edf"},{tag:[jl.pJ.annotation],color:"#ff5f52"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#ffad42"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#ffad42"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#7186f0"},{tag:[jl.pJ.tagName],color:"#99d066"},{tag:[jl.pJ.squareBracket],color:"#ff5f52"},{tag:[jl.pJ.angleBracket],color:"#606f7a"},{tag:[jl.pJ.attributeName],color:"#bdbdbd"},{tag:[jl.pJ.regexp],color:"#ff5f52"},{tag:[jl.pJ.quote],color:"#6abf69"},{tag:[jl.pJ.string],color:"#99d066"},{tag:jl.pJ.link,color:"#56c8d8",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#facf4e"},{tag:[jl.pJ.meta],color:"#707d8b"},{tag:[jl.pJ.comment],color:"#707d8b",fontStyle:"italic"},{tag:jl.pJ.monospace,color:"#bdbdbd"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#ff5f52"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#99d066"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#facf4e"},{tag:jl.pJ.heading1,fontWeight:"bold",color:"#facf4e"},{tag:[jl.pJ.heading2,jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#facf4e"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#facf4e"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#56c8d8"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted],color:"#ff5f52"},{tag:[jl.pJ.contentSeparator],color:"#56c8d8"},{tag:jl.pJ.invalid,color:"#606f7a",borderBottom:"1px dotted #ff5f52"}].concat((0,l.Z)(a))})},vu=Pu,yu=Pu(),bu=Pu(),Su=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#FAFAFA",foreground:"#90A4AE",caret:"#272727",selection:"#80CBC440",selectionMatch:"#FAFAFA",gutterBackground:"#FAFAFA",gutterForeground:"#90A4AE",gutterBorder:"transparent",lineHighlight:"#CCD7DA50"},i),styles:[{tag:jl.pJ.keyword,color:"#39ADB5"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#90A4AE"},{tag:[jl.pJ.propertyName],color:"#6182B8"},{tag:[jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted,jl.pJ.special(jl.pJ.string)],color:"#91B859"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.labelName],color:"#6182B8"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#39ADB5"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#90A4AE"},{tag:[jl.pJ.className],color:"#E2931D"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#F76D47"},{tag:[jl.pJ.typeName],color:"#E2931D",fontStyle:"#E2931D"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#39ADB5"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#91B859"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#90A4AE"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#39ADB5"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#90A4AE"},{tag:jl.pJ.invalid,color:"#E5393570"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"}].concat((0,l.Z)(a))})},Tu=Su(),xu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",selectionMatch:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},i),styles:[{tag:jl.pJ.comment,color:"#9995b7"},{tag:jl.pJ.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[jl.pJ.definitionKeyword,jl.pJ.modifier],color:"#ff5792"},{tag:[jl.pJ.className,jl.pJ.tagName,jl.pJ.definition(jl.pJ.typeName)],color:"#0094f0"},{tag:[jl.pJ.number,jl.pJ.bool,jl.pJ.null,jl.pJ.special(jl.pJ.brace)],color:"#5842ff"},{tag:[jl.pJ.definition(jl.pJ.propertyName),jl.pJ.function(jl.pJ.variableName)],color:"#0095a8"},{tag:jl.pJ.typeName,color:"#b3694d"},{tag:[jl.pJ.propertyName,jl.pJ.variableName],color:"#fa8900"},{tag:jl.pJ.operator,color:"#ff5792"},{tag:jl.pJ.self,color:"#e64100"},{tag:[jl.pJ.string,jl.pJ.regexp],color:"#00b368"},{tag:[jl.pJ.paren,jl.pJ.bracket],color:"#0431fa"},{tag:jl.pJ.labelName,color:"#00bdd6"},{tag:jl.pJ.attributeName,color:"#e64100"},{tag:jl.pJ.angleBracket,color:"#9995b7"}].concat((0,l.Z)(a))})},wu=xu(),Xu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#2e3440",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#3b4252",selectionMatch:"#e5e9f0",gutterBackground:"#2e3440",gutterForeground:"#4c566a",gutterActiveForeground:"#d8dee9",lineHighlight:"#4c566a"},i),styles:[{tag:jl.pJ.keyword,color:"#5e81ac"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.propertyName,jl.pJ.macroName],color:"#88c0d0"},{tag:[jl.pJ.variableName],color:"#8fbcbb"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#8fbcbb"},{tag:[jl.pJ.labelName],color:"#81a1c1"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#5e81ac"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#a3be8c"},{tag:[jl.pJ.brace],color:"#8fbcbb"},{tag:[jl.pJ.annotation],color:"#d30102"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#b48ead"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#ebcb8b"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#a3be8c"},{tag:[jl.pJ.tagName],color:"#b48ead"},{tag:[jl.pJ.squareBracket],color:"#bf616a"},{tag:[jl.pJ.angleBracket],color:"#d08770"},{tag:[jl.pJ.attributeName],color:"#ebcb8b"},{tag:[jl.pJ.regexp],color:"#5e81ac"},{tag:[jl.pJ.quote],color:"#b48ead"},{tag:[jl.pJ.string],color:"#a3be8c"},{tag:jl.pJ.link,color:"#a3be8c",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#8fbcbb"},{tag:[jl.pJ.meta],color:"#88c0d0"},{tag:[jl.pJ.monospace],color:"#d8dee9",fontStyle:"italic"},{tag:[jl.pJ.comment],color:"#4c566a",fontStyle:"italic"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#5e81ac"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#5e81ac"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#5e81ac"},{tag:jl.pJ.special(jl.pJ.heading1),fontWeight:"bold",color:"#5e81ac"},{tag:jl.pJ.heading1,fontWeight:"bold",color:"#5e81ac"},{tag:[jl.pJ.heading2,jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#5e81ac"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#5e81ac"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#d08770"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted],color:"#8fbcbb"},{tag:[jl.pJ.contentSeparator],color:"#ebcb8b"},{tag:jl.pJ.invalid,color:"#434c5e",borderBottom:"1px dotted #d30102"}].concat((0,l.Z)(a))})},ku=Xu(),_u=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#272822",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#49483E",selectionMatch:"#49483E",gutterBackground:"#272822",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.documentMeta],color:"#8292a2"},{tag:[jl.pJ.number,jl.pJ.bool,jl.pJ.null,jl.pJ.atom],color:"#ae81ff"},{tag:[jl.pJ.attributeValue,jl.pJ.className,jl.pJ.name],color:"#e6db74"},{tag:[jl.pJ.propertyName,jl.pJ.attributeName],color:"#a6e22e"},{tag:[jl.pJ.variableName],color:"#9effff"},{tag:[jl.pJ.squareBracket],color:"#bababa"},{tag:[jl.pJ.string,jl.pJ.special(jl.pJ.brace)],color:"#e6db74"},{tag:[jl.pJ.regexp,jl.pJ.className,jl.pJ.typeName,jl.pJ.definition(jl.pJ.typeName)],color:"#66d9ef"},{tag:[jl.pJ.definition(jl.pJ.variableName),jl.pJ.definition(jl.pJ.propertyName),jl.pJ.function(jl.pJ.variableName)],color:"#fd971f"},{tag:[jl.pJ.keyword,jl.pJ.definitionKeyword,jl.pJ.modifier,jl.pJ.tagName,jl.pJ.angleBracket],color:"#f92672"}].concat((0,l.Z)(a))})},Ru=_u(),Zu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#fdf6e3",foreground:"#657b83",caret:"#586e75",selection:"#dfd9c8",selectionMatch:"#dfd9c8",gutterBackground:"#00000010",gutterForeground:"#657b83",lineHighlight:"#dfd9c8"},i),styles:[{tag:jl.pJ.keyword,color:"#859900"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.propertyName,jl.pJ.macroName],color:"#2aa198"},{tag:[jl.pJ.variableName],color:"#268bd2"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#268bd2"},{tag:[jl.pJ.labelName],color:"#d33682"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#b58900"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#2aa198"},{tag:[jl.pJ.brace],color:"#d33682"},{tag:[jl.pJ.annotation],color:"#d30102"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#d33682"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#cb4b16"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#6c71c4"},{tag:[jl.pJ.tagName],color:"#268bd2"},{tag:[jl.pJ.squareBracket],color:"#dc322f"},{tag:[jl.pJ.angleBracket],color:"#073642"},{tag:[jl.pJ.attributeName],color:"#93a1a1"},{tag:[jl.pJ.regexp],color:"#d30102"},{tag:[jl.pJ.quote],color:"#859900"},{tag:[jl.pJ.string],color:"#b58900"},{tag:jl.pJ.link,color:"#2aa198",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#b58900"},{tag:[jl.pJ.meta],color:"#dc322f"},{tag:[jl.pJ.comment],color:"#586e75",fontStyle:"italic"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#586e75"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#859900"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#b58900"},{tag:jl.pJ.heading1,fontWeight:"bold",color:"#002b36"},{tag:[jl.pJ.heading2,jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#002b36"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#002b36"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#d33682"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted,jl.pJ.contentSeparator],color:"#dc322f"},{tag:[jl.pJ.contentSeparator],color:"#b58900"},{tag:jl.pJ.invalid,color:"#073642",borderBottom:"1px dotted #dc322f"}].concat((0,l.Z)(a))})},Eu=Zu(),Uu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#002b36",foreground:"#93a1a1",caret:"#839496",selection:"#173541",selectionMatch:"#aafe661a",gutterBackground:"#00252f",gutterForeground:"#839496",lineHighlight:"#173541"},i),styles:[{tag:jl.pJ.keyword,color:"#859900"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.propertyName,jl.pJ.macroName],color:"#2aa198"},{tag:[jl.pJ.variableName],color:"#93a1a1"},{tag:[jl.pJ.function(jl.pJ.variableName)],color:"#268bd2"},{tag:[jl.pJ.labelName],color:"#d33682"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#b58900"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#2aa198"},{tag:[jl.pJ.brace],color:"#d33682"},{tag:[jl.pJ.annotation],color:"#d30102"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#d33682"},{tag:[jl.pJ.typeName,jl.pJ.className],color:"#cb4b16"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#6c71c4"},{tag:[jl.pJ.tagName],color:"#268bd2"},{tag:[jl.pJ.squareBracket],color:"#dc322f"},{tag:[jl.pJ.angleBracket],color:"#586e75"},{tag:[jl.pJ.attributeName],color:"#93a1a1"},{tag:[jl.pJ.regexp],color:"#d30102"},{tag:[jl.pJ.quote],color:"#859900"},{tag:[jl.pJ.string],color:"#b58900"},{tag:jl.pJ.link,color:"#2aa198",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.special(jl.pJ.string)],color:"#b58900"},{tag:[jl.pJ.meta],color:"#dc322f"},{tag:[jl.pJ.comment],color:"#586e75",fontStyle:"italic"},{tag:jl.pJ.strong,fontWeight:"bold",color:"#eee8d5"},{tag:jl.pJ.emphasis,fontStyle:"italic",color:"#859900"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#b58900"},{tag:jl.pJ.heading1,fontWeight:"bold",color:"#fdf6e3"},{tag:[jl.pJ.heading2,jl.pJ.heading3,jl.pJ.heading4],fontWeight:"bold",color:"#eee8d5"},{tag:[jl.pJ.heading5,jl.pJ.heading6],color:"#eee8d5"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#d33682"},{tag:[jl.pJ.processingInstruction,jl.pJ.inserted,jl.pJ.contentSeparator],color:"#dc322f"},{tag:[jl.pJ.contentSeparator],color:"#b58900"},{tag:jl.pJ.invalid,color:"#586e75",borderBottom:"1px dotted #dc322f"}].concat((0,l.Z)(a))})},Wu=Uu();function qu(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#303841",foreground:"#FFFFFF",caret:"#FBAC52",selection:"#4C5964",selectionMatch:"#3A546E",gutterBackground:"#303841",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},i),styles:[{tag:[jl.pJ.meta,jl.pJ.comment],color:"#A2A9B5"},{tag:[jl.pJ.attributeName,jl.pJ.keyword],color:"#B78FBA"},{tag:jl.pJ.function(jl.pJ.variableName),color:"#5AB0B0"},{tag:[jl.pJ.string,jl.pJ.regexp,jl.pJ.attributeValue],color:"#99C592"},{tag:jl.pJ.operator,color:"#f47954"},{tag:[jl.pJ.propertyName,jl.pJ.typeName],color:"#629ccd"},{tag:[jl.pJ.tagName,jl.pJ.modifier],color:"#E35F63"},{tag:[jl.pJ.number,jl.pJ.definition(jl.pJ.tagName),jl.pJ.className,jl.pJ.definition(jl.pJ.variableName)],color:"#fbac52"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#E35F63"}].concat((0,l.Z)(a))})}var Cu=qu(),zu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#1a1b26",foreground:"#787c99",caret:"#c0caf5",selection:"#515c7e40",selectionMatch:"#16161e",gutterBackground:"#1a1b26",gutterForeground:"#787c99",gutterBorder:"transparent",lineHighlight:"#1e202e"},i),styles:[{tag:jl.pJ.keyword,color:"#bb9af7"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#c0caf5"},{tag:[jl.pJ.propertyName],color:"#7aa2f7"},{tag:[jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted,jl.pJ.special(jl.pJ.string)],color:"#9ece6a"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.labelName],color:"#7aa2f7"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#bb9af7"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#c0caf5"},{tag:[jl.pJ.className],color:"#c0caf5"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#ff9e64"},{tag:[jl.pJ.typeName],color:"#0db9d7"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#bb9af7"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#b4f9f8"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#444b6a"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#c0caf5"},{tag:jl.pJ.invalid,color:"#ff5370"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"}].concat((0,l.Z)(a))})},Yu=zu(),Au=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#24283b",foreground:"#7982a9",caret:"#c0caf5",selection:"#6f7bb630",selectionMatch:"#1f2335",gutterBackground:"#24283b",gutterForeground:"#7982a9",gutterBorder:"transparent",lineHighlight:"#292e42"},i),styles:[{tag:jl.pJ.keyword,color:"#bb9af7"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#c0caf5"},{tag:[jl.pJ.propertyName],color:"#7aa2f7"},{tag:[jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted,jl.pJ.special(jl.pJ.string)],color:"#9ece6a"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.labelName],color:"#7aa2f7"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#bb9af7"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#c0caf5"},{tag:[jl.pJ.className],color:"#c0caf5"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#ff9e64"},{tag:[jl.pJ.typeName],color:"#2ac3de",fontStyle:"#2ac3de"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#bb9af7"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#b4f9f8"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#565f89"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#c0caf5"},{tag:jl.pJ.invalid,color:"#ff5370"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"}].concat((0,l.Z)(a))})},ju=Au(),Vu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#e1e2e7",foreground:"#3760bf",caret:"#3760bf",selection:"#99a7df",selectionMatch:"#99a7df",gutterBackground:"#e1e2e7",gutterForeground:"#3760bf",gutterBorder:"transparent",lineHighlight:"#5f5faf11"},i),styles:[{tag:jl.pJ.keyword,color:"#007197"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName],color:"#3760bf"},{tag:[jl.pJ.propertyName],color:"#3760bf"},{tag:[jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted,jl.pJ.special(jl.pJ.string)],color:"#587539"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.labelName],color:"#3760bf"},{tag:[jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name)],color:"#3760bf"},{tag:[jl.pJ.definition(jl.pJ.name),jl.pJ.separator],color:"#3760bf"},{tag:[jl.pJ.className],color:"#3760bf"},{tag:[jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.modifier,jl.pJ.self,jl.pJ.namespace],color:"#b15c00"},{tag:[jl.pJ.typeName],color:"#007197",fontStyle:"#007197"},{tag:[jl.pJ.operator,jl.pJ.operatorKeyword],color:"#007197"},{tag:[jl.pJ.url,jl.pJ.escape,jl.pJ.regexp,jl.pJ.link],color:"#587539"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#848cb5"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.link,textDecoration:"underline"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#b15c00"},{tag:[jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#3760bf"},{tag:jl.pJ.invalid,color:"#f52a65"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"}].concat((0,l.Z)(a))})},Iu=Vu();function Nu(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#1e1e1e",foreground:"#9cdcfe",caret:"#c6c6c6",selection:"#6199ff2f",selectionMatch:"#72a1ff59",lineHighlight:"#ffffff0f",gutterBackground:"#1e1e1e",gutterForeground:"#838383",gutterActiveForeground:"#fff",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace'},i),styles:[{tag:[jl.pJ.keyword,jl.pJ.operatorKeyword,jl.pJ.modifier,jl.pJ.color,jl.pJ.constant(jl.pJ.name),jl.pJ.standard(jl.pJ.name),jl.pJ.standard(jl.pJ.tagName),jl.pJ.special(jl.pJ.brace),jl.pJ.atom,jl.pJ.bool,jl.pJ.special(jl.pJ.variableName)],color:"#569cd6"},{tag:[jl.pJ.controlKeyword,jl.pJ.moduleKeyword],color:"#c586c0"},{tag:[jl.pJ.name,jl.pJ.deleted,jl.pJ.character,jl.pJ.macroName,jl.pJ.propertyName,jl.pJ.variableName,jl.pJ.labelName,jl.pJ.definition(jl.pJ.name)],color:"#9cdcfe"},{tag:jl.pJ.heading,fontWeight:"bold",color:"#9cdcfe"},{tag:[jl.pJ.typeName,jl.pJ.className,jl.pJ.tagName,jl.pJ.number,jl.pJ.changed,jl.pJ.annotation,jl.pJ.self,jl.pJ.namespace],color:"#4ec9b0"},{tag:[jl.pJ.function(jl.pJ.variableName),jl.pJ.function(jl.pJ.propertyName)],color:"#dcdcaa"},{tag:[jl.pJ.number],color:"#b5cea8"},{tag:[jl.pJ.operator,jl.pJ.punctuation,jl.pJ.separator,jl.pJ.url,jl.pJ.escape,jl.pJ.regexp],color:"#d4d4d4"},{tag:[jl.pJ.regexp],color:"#d16969"},{tag:[jl.pJ.special(jl.pJ.string),jl.pJ.processingInstruction,jl.pJ.string,jl.pJ.inserted],color:"#ce9178"},{tag:[jl.pJ.angleBracket],color:"#808080"},{tag:jl.pJ.strong,fontWeight:"bold"},{tag:jl.pJ.emphasis,fontStyle:"italic"},{tag:jl.pJ.strikethrough,textDecoration:"line-through"},{tag:[jl.pJ.meta,jl.pJ.comment],color:"#6a9955"},{tag:jl.pJ.link,color:"#6a9955",textDecoration:"underline"},{tag:jl.pJ.invalid,color:"#ff0000"}].concat((0,l.Z)(a))})}var Gu=Nu();function Du(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#fff",foreground:"#3D3D3D",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#AFAFAF",lineHighlight:"#EDF4FF"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.quote],color:"#707F8D"},{tag:[jl.pJ.typeName,jl.pJ.typeOperator],color:"#aa0d91"},{tag:[jl.pJ.keyword],color:"#aa0d91",fontWeight:"bold"},{tag:[jl.pJ.string,jl.pJ.meta],color:"#D23423"},{tag:[jl.pJ.name],color:"#032f62"},{tag:[jl.pJ.typeName],color:"#522BB2"},{tag:[jl.pJ.variableName],color:"#23575C"},{tag:[jl.pJ.definition(jl.pJ.variableName)],color:"#327A9E"},{tag:[jl.pJ.regexp,jl.pJ.link],color:"#0e0eff"}].concat((0,l.Z)(a))})}var Fu=Du(),Lu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Vl({theme:r,settings:(0,bn.Z)({background:"#292A30",foreground:"#CECFD0",caret:"#fff",selection:"#727377",selectionMatch:"#727377",lineHighlight:"#2F3239"},i),styles:[{tag:[jl.pJ.comment,jl.pJ.quote],color:"#7F8C98"},{tag:[jl.pJ.keyword],color:"#FF7AB2",fontWeight:"bold"},{tag:[jl.pJ.string,jl.pJ.meta],color:"#FF8170"},{tag:[jl.pJ.typeName],color:"#DABAFF"},{tag:[jl.pJ.definition(jl.pJ.variableName)],color:"#6BDFFF"},{tag:[jl.pJ.name],color:"#6BAA9F"},{tag:[jl.pJ.variableName],color:"#ACF2E4"},{tag:[jl.pJ.regexp,jl.pJ.link],color:"#FF8170"}].concat((0,l.Z)(a))})},Mu=Lu(),Ju=n(72),Bu=n(8544),Hu=n(4797),Ku=n(8056),ep=n(9486),tp=n(2453),np=n(3845),rp=n(5989),Op=n(4522),ip=n(6563),op=n(5990),ap=n(2593),sp=n(3487),cp=n(4144),lp=n(3235),up=n(5758),pp=n(7025),dp=n(7826),hp=n(7136),fp=n(7279),mp=n(8158),Qp=n(8785),$p=n(617),gp=n(285),Pp=n(3378),vp=n(2369),yp=n(9707),bp=n(7782),Sp=n(6145),Tp=n(546),xp=n(6601),wp=n(9428),Xp=n(8556),kp=n(7791),_p=n(8879),Rp=n(2307),Zp=n(8662),Ep=n(70),Up=n(4586),Wp=n(4964),qp=n(5194),Cp=n(8935),zp=n(5374),Yp=n(6900),Ap=n(8846),jp=n(5905),Vp=n(624),Ip=n(5740),Np=n(4604),Gp=n(8610),Dp=n(5382),Fp=n(4684),Lp=n(3582),Mp=n(7256),Jp=n(58),Bp=n(9235),Hp=n(8140),Kp=n(5541),ed=n(8831),td=n(3510),nd=n(2321),rd=n(6105),Od=n(2399),id=n(8641),od=n(1527),ad=n(7483),sd=n(7902),cd=n(3030),ld=n(2281),ud=n(9158),pd=n(9529),dd=n(8802),hd=n(732),fd=n(5651),md=n(3467),Qd=n(3850),$d=n(4017),gd=n(4911),Pd=n(7627),vd=n(7234),yd=n(2340),bd=n(2534),Sd=n(2473),Td=n(294),xd=n(9084),wd=n(1620),Xd=n(9007),kd=n(2410),_d=n(5537),Rd=n(1973),Zd=n(468),Ed=n(9021),Ud=n(7792),Wd=n(4071),qd=n(2804),Cd=n(5798),zd=n(3083),Yd=n(2489),Ad=n(8066),jd=n(1875),Vd=n(606),Id=n(9949),Nd=n(2172),Gd=n(2082),Dd=n(2275),Fd={apl:function(){return Pl.il.define(up.apl)},asciiArmor:function(){return Pl.il.define(pp.asciiArmor)},asterisk:function(){return Pl.il.define(dp.asterisk)},c:function(){return Pl.il.define(fp.c)},csharp:function(){return Pl.il.define(fp.csharp)},scala:function(){return Pl.il.define(fp.scala)},kotlin:function(){return Pl.il.define(fp.kotlin)},shader:function(){return Pl.il.define(fp.shader)},nesC:function(){return Pl.il.define(fp.nesC)},objectiveC:function(){return Pl.il.define(fp.objectiveC)},objectiveCpp:function(){return Pl.il.define(fp.objectiveCpp)},squirrel:function(){return Pl.il.define(fp.squirrel)},ceylon:function(){return Pl.il.define(fp.ceylon)},dart:function(){return Pl.il.define(fp.dart)},cmake:function(){return Pl.il.define($p.cmake)},cobol:function(){return Pl.il.define(gp.cobol)},commonLisp:function(){return Pl.il.define(vp.commonLisp)},crystal:function(){return Pl.il.define(yp.crystal)},cypher:function(){return Pl.il.define(bp.cypher)},d:function(){return Pl.il.define(Sp.d)},diff:function(){return Pl.il.define(Tp.diff)},dtd:function(){return Pl.il.define(wp.dtd)},dylan:function(){return Pl.il.define(Xp.dylan)},ebnf:function(){return Pl.il.define(kp.ebnf)},ecl:function(){return Pl.il.define(_p.ecl)},eiffel:function(){return Pl.il.define(Rp.eiffel)},elm:function(){return Pl.il.define(Zp.elm)},factor:function(){return Pl.il.define(Up.factor)},fcl:function(){return Pl.il.define(Wp.fcl)},forth:function(){return Pl.il.define(qp.forth)},fortran:function(){return Pl.il.define(Cp.fortran)},gas:function(){return Pl.il.define(zp.gas)},gherkin:function(){return Pl.il.define(Yp.gherkin)},groovy:function(){return Pl.il.define(jp.groovy)},haskell:function(){return Pl.il.define(Vp.haskell)},haxe:function(){return Pl.il.define(Ip.haxe)},http:function(){return Pl.il.define(Np.http)},idl:function(){return Pl.il.define(Gp.idl)},jinja2:function(){return Pl.il.define(Dp.jinja2)},mathematica:function(){return Pl.il.define(Jp.mathematica)},mbox:function(){return Pl.il.define(Bp.mbox)},mirc:function(){return Pl.il.define(Hp.mirc)},modelica:function(){return Pl.il.define(Kp.modelica)},mscgen:function(){return Pl.il.define(ed.mscgen)},mumps:function(){return Pl.il.define(td.mumps)},nsis:function(){return Pl.il.define(rd.nsis)},ntriples:function(){return Pl.il.define(Od.ntriples)},octave:function(){return Pl.il.define(id.octave)},oz:function(){return Pl.il.define(od.oz)},pig:function(){return Pl.il.define(cd.pig)},properties:function(){return Pl.il.define(ud.properties)},protobuf:function(){return Pl.il.define(pd.protobuf)},puppet:function(){return Pl.il.define(dd.puppet)},q:function(){return Pl.il.define(hd.q)},sas:function(){return Pl.il.define(Qd.sas)},sass:function(){return Pl.il.define($d.sass)},sieve:function(){return Pl.il.define(vd.sieve)},smalltalk:function(){return Pl.il.define(yd.smalltalk)},solr:function(){return Pl.il.define(bd.solr)},sparql:function(){return Pl.il.define(Sd.sparql)},spreadsheet:function(){return Pl.il.define(Td.spreadsheet)},stex:function(){return Pl.il.define(xd.stex)},textile:function(){return Pl.il.define(_d.textile)},tiddlyWiki:function(){return Pl.il.define(Rd.tiddlyWiki)},tiki:function(){return Pl.il.define(Zd.tiki)},troff:function(){return Pl.il.define(Ud.troff)},ttcn:function(){return Pl.il.define(Wd.ttcn)},turtle:function(){return Pl.il.define(qd.turtle)},velocity:function(){return Pl.il.define(Yd.velocity)},verilog:function(){return Pl.il.define(Ad.verilog)},vhdl:function(){return Pl.il.define(jd.vhdl)},webIDL:function(){return Pl.il.define(Vd.webIDL)},xQuery:function(){return Pl.il.define(Id.xQuery)},yacas:function(){return Pl.il.define(Nd.yacas)},z80:function(){return Pl.il.define(Dd.z80)},wast:lp.wast,javascript:Hu.javascript,jsx:function(){return(0,Hu.javascript)({jsx:!0})},typescript:function(){return(0,Hu.javascript)({typescript:!0})},tsx:function(){return(0,Hu.javascript)({jsx:!0,typescript:!0})},json:tp.json,html:Ku.html,css:ep.css,python:np.python,markdown:function(){return(0,Bu.markdown)({base:Bu.markdownLanguage,codeLanguages:Ju.M})},xml:rp.xml,sql:Op.sql,mysql:function(){return(0,Op.sql)({dialect:Op.MySQL})},pgsql:function(){return(0,Op.sql)({dialect:Op.PostgreSQL})},java:ip.java,rust:op.rust,cpp:ap.cpp,lezer:sp.h,php:cp.php,go:function(){return Pl.il.define(Ap.go)},shell:function(){return Pl.il.define(Pd.shell)},lua:function(){return Pl.il.define(Mp.lua)},swift:function(){return Pl.il.define(Xd.swift)},tcl:function(){return Pl.il.define(kd.tcl)},yaml:function(){return Pl.il.define(Gd.yaml)},vb:function(){return Pl.il.define(Cd.vb)},powershell:function(){return Pl.il.define(ld.powerShell)},brainfuck:function(){return Pl.il.define(hp.brainfuck)},stylus:function(){return Pl.il.define(wd.stylus)},erlang:function(){return Pl.il.define(Ep.erlang)},nginx:function(){return Pl.il.define(nd.nginx)},perl:function(){return Pl.il.define(sd.perl)},ruby:function(){return Pl.il.define(md.ruby)},pascal:function(){return Pl.il.define(ad.pascal)},livescript:function(){return Pl.il.define(Lp.liveScript)},less:function(){return Pl.il.define(Qp.less)},scheme:function(){return Pl.il.define(gd.scheme)},toml:function(){return Pl.il.define(Ed.toml)},vbscript:function(){return Pl.il.define(zd.vbScript)},clojure:function(){return Pl.il.define(mp.clojure)},coffeescript:function(){return Pl.il.define(Pp.coffeeScript)},julia:function(){return Pl.il.define(Fp.julia)},dockerfile:function(){return Pl.il.define(xp.dockerFile)},r:function(){return Pl.il.define(fd.r)}},Ld=Object.keys(Fd);var Md=function(e){var t=e.label,n=void 0===t?"":t,r=e.value,O=e.options,i=void 0===O?[]:O,o=e.onChange;return(0,wn.jsxs)("label",{children:[n&&(0,wn.jsxs)("span",{children:[n,"\uff1a"]}),(0,wn.jsx)("select",{value:r,onChange:o,children:i.map((function(e,t){var n={};return r===e&&(n.value=e),(0,wn.jsx)("option",(0,er.Z)((0,er.Z)({},n),{},{children:e}),t)}))})]})};function Jd(e,t){if(null==e)return{};var n,r,O=(0,Sn.Z)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(O[n]=e[n])}return O}var Bd,Hd,Kd,eh,th,nh,rh,Oh,ih,oh,ah,sh,ch,lh,uh,ph,dh,hh,fh,mh,Qh,$h,gh,Ph,vh,yh,bh,Sh="\x3c!--rehype:ignore:start--\x3e\n\n# Basic Setup Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup)\n\nBasic configuration for the CodeMirror6 code editor. This is the official [basic-setup](https://github.com/codemirror/basic-setup) package fork, making configuration optional.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-basic-setup --save\n```\n\n## Usage\n\n\u26a0\ufe0f Integrated into [**@uiw/react-codemirror**](https://npmjs.com/@uiw/react-codemirror) package\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { basicSetup, minimalSetup } from '@uiw/codemirror-extensions-basic-setup';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [\n basicSetup({\n foldGutter: false,\n dropCursor: false,\n allowMultipleSelections: false,\n indentOnInput: false,\n }),\n ],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n```diff\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\n- import { basicSetup, minimalSetup } from 'codemirror';\n+ import { basicSetup, minimalSetup } from '@uiw/codemirror-extensions-basic-setup';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [\n- basicSetup\n+ basicSetup({\n+ foldGutter: false,\n+ dropCursor: false,\n+ })\n ],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport interface BasicSetupOptions extends MinimalSetupOptions {\n lineNumbers?: boolean;\n highlightActiveLineGutter?: boolean;\n foldGutter?: boolean;\n dropCursor?: boolean;\n allowMultipleSelections?: boolean;\n indentOnInput?: boolean;\n bracketMatching?: boolean;\n closeBrackets?: boolean;\n autocompletion?: boolean;\n rectangularSelection?: boolean;\n crosshairCursor?: boolean;\n highlightActiveLine?: boolean;\n highlightSelectionMatches?: boolean;\n closeBracketsKeymap?: boolean;\n searchKeymap?: boolean;\n foldKeymap?: boolean;\n completionKeymap?: boolean;\n lintKeymap?: boolean;\n /**\n * Facet for overriding the unit by which indentation happens. Should be a string consisting either entirely of spaces or entirely of tabs. When not set, this defaults to 2 spaces\n * https://codemirror.net/docs/ref/#language.indentUnit\n * @default 2\n */\n tabSize?: number;\n}\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n- [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n- [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n- [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n- [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n- [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n- [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n- [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n- [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n- [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n- [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n- [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n- [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n- [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n- [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n- [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n- [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n- [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n- [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n- [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nexport declare const basicSetup: (options?: BasicSetupOptions) => Extension[];\nexport interface MinimalSetupOptions {\n highlightSpecialChars?: boolean;\n history?: boolean;\n drawSelection?: boolean;\n syntaxHighlighting?: boolean;\n defaultKeymap?: boolean;\n historyKeymap?: boolean;\n}\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nexport declare const minimalSetup: (options?: MinimalSetupOptions) => Extension[];\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Th=yn.div(Bd||(Bd=i(["\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2px;\n & a {\n display: flex;\n align-items: center;\n }\n"]))),xh=on(Hd||(Hd=i(["\n padding: 2px 5px;\n border-radius: 3px;\n text-decoration: none;\n color: var(--color-accent-emphasis);\n &.active {\n background-color: var(--color-neutral-muted);\n color: var(--color-fg-default);\n }\n"]))),wh=yn(Ve)(Kd||(Kd=i(["\n ","\n"])),xh),Xh=yn.a(eh||(eh=i(["\n ","\n"])),xh),kh=function(){return(0,wn.jsxs)(Th,{children:[(0,wn.jsx)(wh,{to:"/",children:"Home"}),(0,wn.jsx)(wh,{to:"/extensions",children:"Extensions"}),(0,wn.jsx)(wh,{to:"/theme",children:"Themes"}),(0,wn.jsx)(wh,{to:"/editor/theme",children:"Themes Editor"}),(0,wn.jsx)(wh,{to:"/theme/doc",children:"Theme Doc"}),(0,wn.jsx)(Xh,{href:"https://github.com/uiwjs/react-codemirror",target:"__blank",children:"Github"}),(0,wn.jsx)("dark-mode",{permanent:!0})]})},_h=yn.div(th||(th=i(["\n display: flex;\n flex-direction: column;\n"]))),Rh=yn.div(nh||(nh=i(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 42px;\n padding-left: 10px;\n padding-right: 10px;\n border-bottom: 1px solid var(--color-border-default);\n position: sticky;\n top: 0;\n z-index: 9999;\n background-color: var(--color-canvas-subtle);\n"]))),Zh=yn(Ve)(rh||(rh=i(["\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n gap: 10px;\n text-decoration: none;\n color: var(--color-fg-muted);\n > img {\n height: 21px;\n }\n"]))),Eh=function(){return(0,wn.jsxs)(Rh,{children:[(0,wn.jsxs)(Zh,{to:"/",children:[(0,wn.jsx)("img",{src:Kn,alt:"Logo"}),(0,wn.jsx)("span",{children:"CodeMirror Theme"})]}),(0,wn.jsx)(kh,{})]})},Uh=yn.div(Oh||(Oh=i(["\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n"]))),Wh=function(e){var t=(0,s.useRef)(null),n=(0,s.useState)(),r=(0,a.Z)(n,2),O=r[0],i=r[1];return(0,s.useEffect)((function(){return i(t.current)}),[]),(0,wn.jsxs)(Uh,(0,er.Z)((0,er.Z)({ref:t},e),{},{children:[e.children,(0,wn.jsx)(Hn,{element:O,style:{position:"fixed"},children:"Top"})]}))},qh=yn.pre(ih||(ih=i(["\n border: 1px solid var(--color-border-default);\n background-color: var(--color-canvas-subtle);\n display: inline-block;\n padding: 10px 13px;\n border-radius: 5px;\n"]))),Ch=yn.span(oh||(oh=i(["\n ","\n ","\n"])),(function(e){return 0===e.number&&on(ah||(ah=i(["\n color: var(--color-accent-emphasis);\n "])))}),(function(e){return 2===e.number&&on(sh||(sh=i(["\n color: var(--color-danger-fg);\n "])))})),zh=function(e){var t=e.value,n=void 0===t?"":t;return(0,wn.jsx)(qh,{children:n.split(" ").map((function(e,t){return(0,wn.jsxs)(Ch,{number:t,children:[e," "]},t)}))})},Yh="\x3c!--rehype:ignore:start--\x3e\n\n# Duotone Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone)\n\n\n \"codemirror-theme-duotone\"\n\n\n\n \"codemirror-theme-duotone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-duotone --save\n```\n\n```jsx\nimport { duotoneLight, duotoneLightInit, duotoneDark, duotoneDarkInit } from '@uiw/codemirror-theme-duotone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const duotoneLightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const duotoneLight: import('@codemirror/state').Extension;\nexport declare const duotoneDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const duotoneDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [duotoneDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\n",Ah="\x3c!--rehype:ignore:start--\x3e\n\n# Github Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github)\n\n\n \"codemirror-theme-github\n\n\n\n \"codemirror-theme-github\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-github --save\n```\n\n```jsx\nimport { githubLight, githubLightInit, githubDark, githubDarkInit } from '@uiw/codemirror-theme-github';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const githubLightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const githubLight: import('@codemirror/state').Extension;\nexport declare const githubDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const githubDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [githubDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",jh="\x3c!--rehype:ignore:start--\x3e\n\n# Gruvbox Dark Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark)\n\nThis package implements the [gruvbox](https://github.com/morhetz/gruvbox) light theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-gruvbox-dark\"\n\n\n\n \"codemirror-theme-eclipse\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-gruvbox-dark --save\n```\n\n```jsx\nimport { gruvboxDark, gruvboxDarkInit, gruvboxLight, gruvboxLightInit } from '@uiw/codemirror-theme-nord';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const gruvboxDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const gruvboxDark: import('@codemirror/state').Extension;\nexport declare const gruvboxLightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const gruvboxLight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { gruvboxDark, gruvboxLight } from '@uiw/codemirror-theme-gruvbox-dark';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { gruvboxDark } from '@uiw/codemirror-theme-gruvbox-dark';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [gruvboxDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Vh="\x3c!--rehype:ignore:start--\x3e\n\n# Material Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material)\n\nThis package implements the [Material](https://material.io/tools/color/) Dark theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-material\"\n\n\n\n \"codemirror-theme-material\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-material --save\n```\n\n```jsx\nimport { materialDark, materialDarkInit, materialLight, materialLightInit } from '@uiw/codemirror-theme-material';\n\n// materialInit === materialDarkInit\n// material === materialDark\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const materialInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const materialDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const materialDark: import('@codemirror/state').Extension;\nexport declare const material: import('@codemirror/state').Extension;\nexport declare const materialLightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const materialLight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { material } from '@uiw/codemirror-theme-material';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { material } from '@uiw/codemirror-theme-material';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [material, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Ih="\x3c!--rehype:ignore:start--\x3e\n\n# Solarized Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized)\n\nThis package implements the [Solarized](https://ethanschoonover.com/solarized/) theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-solarized\"\n\n\n\n \"codemirror-theme-solarized\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-solarized --save\n```\n\n```jsx\nimport { solarizedLight, solarizedLightInit, solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const solarizedLightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const solarizedLight: import('@codemirror/state').Extension;\nexport declare const solarizedDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const solarizedDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [solarizedLight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Nh="\x3c!--rehype:ignore:start--\x3e\n\n# Xcode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode)\n\n\n \"codemirror-theme-xcode\n\n\n\n \"codemirror-theme-xcode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-xcode --save\n```\n\n```jsx\nimport { xcodeLight, xcodeLightInit, xcodeDark, xcodeDarkInit } from '@uiw/codemirror-theme-xcode';\n\n\n\n```\n\n## API\n\n```ts\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare function xcodeLightInit(options?: CreateThemeOptions): import('@codemirror/state').Extension;\nexport declare const xcodeLight: import('@codemirror/state').Extension;\nexport declare const xcodeDarkInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const xcodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [xcodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Gh={abcdef:"\x3c!--rehype:ignore:start--\x3e\n\n# Abcdef Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef)\n\n\n \"codemirror-theme-abcdef\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-abcdef --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { abcdef, abcdefInit } from '@uiw/codemirror-theme-abcdef';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const abcdefInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const abcdef: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",androidstudio:"\x3c!--rehype:ignore:start--\x3e\n\n# AndroidStudio Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio)\n\n\n \"codemirror-theme-androidstudio\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-androidstudio --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { androidstudio, androidstudioInit } from '@uiw/codemirror-theme-androidstudio';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const androidstudioInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const androidstudio: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [androidstudio, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",atomone:"\x3c!--rehype:ignore:start--\x3e\n\n# Atom One Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone)\n\n\n \"codemirror-theme-atomone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-atomone --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { atomone, atomoneInit } from '@uiw/codemirror-theme-atomone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const atomoneInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const atomone: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [atomone, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",aura:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura)\n\n\n \"codemirror-theme-aura\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-aura --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { aura, auraInit } from '@uiw/codemirror-theme-aura';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const auraInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const aura: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { aura } from '@uiw/codemirror-theme-aura';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { aura } from '@uiw/codemirror-theme-aura';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [aura, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",bbedit:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit)\n\n\n \"codemirror-theme-bbedit\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-bbedit --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { bbedit, bbeditInit } from '@uiw/codemirror-theme-bbedit';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const bbeditInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const bbedit: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [bbedit, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",bespin:"\x3c!--rehype:ignore:start--\x3e\n\n# Bespin Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin)\n\n\n \"codemirror-theme-bespin\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-bespin --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { bespin, bespinInit } from '@uiw/codemirror-theme-bespin';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const bespinInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const bespin: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { bespin } from '@uiw/codemirror-theme-bespin';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { bespin } from '@uiw/codemirror-theme-bespin';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [bespin, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",dracula:"\x3c!--rehype:ignore:start--\x3e\n\n# Dracula Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula)\n\n\n \"codemirror-theme-dracula\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-dracula --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { dracula, draculaInit } from '@uiw/codemirror-theme-dracula';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const draculaInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const dracula: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { dracula } from '@uiw/codemirror-theme-dracula';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { dracula } from '@uiw/codemirror-theme-dracula';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [dracula, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",darcula:"\x3c!--rehype:ignore:start--\x3e\n\n# Darcula Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula)\n\n\n \"codemirror-theme-darcula\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-darcula --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { darcula, darculaInit } from '@uiw/codemirror-theme-darcula';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const darculaInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const darcula: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [darcula, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",duotoneLight:Yh,duotoneDark:Yh,eclipse:"\x3c!--rehype:ignore:start--\x3e\n\n# Eclipse Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse)\n\n\n \"codemirror-theme-eclipse\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-eclipse --save\n```\n\n```jsx\nimport { eclipse, eclipseInit } from '@uiw/codemirror-theme-eclipse';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const eclipseInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const eclipse: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { eclipse } from '@uiw/codemirror-theme-eclipse';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { eclipse } from '@uiw/codemirror-theme-eclipse';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [eclipse, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",githubLight:Ah,githubDark:Ah,gruvboxDark:jh,gruvboxLight:jh,materialDark:Vh,materialLight:Vh,noctisLilac:"\x3c!--rehype:ignore:start--\x3e\n\n# NoctisLilac Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac)\n\nThis package implements the noctis-lilac for the CodeMirror code editor.\n\n\n \"codemirror-theme-noctis-lilac\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-noctis-lilac --save\n```\n\n```jsx\nimport { noctisLilac, noctisLilacInit } from '@uiw/codemirror-theme-noctis-lilac';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const noctisLilacInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const noctisLilac: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [noctisLilac, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",nord:"\x3c!--rehype:ignore:start--\x3e\n\n# Nord Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord)\n\nThis package implements the [nord theme](https://www.nordtheme.com/) for the CodeMirror code editor.\n\n\n \"codemirror-theme-nord\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-nord --save\n```\n\n```jsx\nimport { nord, nordInit } from '@uiw/codemirror-theme-nord';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const nordInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const nord: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { nord } from '@uiw/codemirror-theme-nord';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { nord } from '@uiw/codemirror-theme-nord';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [nord, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",okaidia:"\x3c!--rehype:ignore:start--\x3e\n\n# Okaidia Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia)\n\n\n \"codemirror-theme-okaidia\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-okaidia --save\n```\n\n```jsx\nimport { okaidia, okaidiaInit } from '@uiw/codemirror-theme-okaidia';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const okaidiaInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const okaidia: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [okaidia, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",solarizedLight:Ih,solarizedDark:Ih,sublime:"\x3c!--rehype:ignore:start--\x3e\n\n# Sublime Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime)\n\n\n \"codemirror-theme-sublime\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-sublime --save\n```\n\n```jsx\nimport { sublime, sublimeInit } from '@uiw/codemirror-theme-sublime';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare function sublimeInit(options?: CreateThemeOptions): import('@codemirror/state').Extension;\nexport declare const sublime: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [sublime, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNight:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNight Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night)\n\n\n \"codemirror-theme-tokyo-night\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNight, tokyoNightInit } from '@uiw/codemirror-theme-tokyo-night';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const tokyoNightInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const tokyoNight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNightStorm:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightStorm Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm)\n\n\n \"codemirror-theme-tokyo-night-storm\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-storm --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightStorm, tokyoNightStormInit } from '@uiw/codemirror-theme-tokyo-night-storm';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const tokyoNightStormInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const tokyoNightStorm: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightStorm, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNightDay:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightDay Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day)\n\n\n \"codemirror-theme-tokyo-night-day\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-day --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightDay, tokyoNightDayInit } from '@uiw/codemirror-theme-tokyo-night-day';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const tokyoNightDayInit: (options?: CreateThemeOptions) => import('@codemirror/state').Extension;\nexport declare const tokyoNightDay: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightDay, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",vscodeDark:"\x3c!--rehype:ignore:start--\x3e\n\n# VSCode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode)\n\n\n \"codemirror-theme-vscode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-vscode --save\n```\n\n```jsx\nimport { vscodeDark, vscodeDarkInit } from '@uiw/codemirror-theme-vscode';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare function vscodeDarkInit(options?: CreateThemeOptions): import('@codemirror/state').Extension;\nexport declare const vscodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [vscodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",xcodeLight:Nh,xcodeDark:Nh},Dh={abcdef:Gl,androidstudio:Fl,atomone:Ml,aura:Bl,bbedit:Kl,bespin:tu,darcula:ru,dracula:iu,duotoneLight:au,duotoneDark:cu,eclipse:uu,githubLight:du,githubDark:fu,gruvboxDark:Qu,gruvboxLight:gu,materialLight:Tu,materialDark:yu,noctisLilac:wu,nord:ku,okaidia:Ru,solarizedLight:Eu,solarizedDark:Wu,sublime:Cu,tokyoNight:Yu,tokyoNightStorm:ju,tokyoNightDay:Iu,vscodeDark:Gu,xcodeLight:Fu,xcodeDark:Mu},Fh=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null===(e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.toLowerCase()})).join(",").split(",")},Lh=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null===(e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")},Mh=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=(null===(e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.slice(0,1).toUpperCase()+e.slice(1).toLowerCase()})).join(""))||"";return n.slice(0,1).toLowerCase()+n.slice(1)},Jh=yn.button(ch||(ch=i([""]))),Bh=yn.div(lh||(lh=i(["\n font-size: 24px;\n padding-bottom: 15px;\n text-transform: capitalize;\n font-weight: bold;\n"]))),Hh=yn.div(uh||(uh=i(["\n padding: 26px 23px 22px 23px;\n border-bottom: 1px solid var(--color-border-default);\n "," {\n padding: 6px 0 12px 0;\n }\n "," {\n }\n"])),Bh,Jh),Kh=yn.div(ph||(ph=i(["\n padding: 30px 38px 120px 38px;\n"]))),ef=function(e){var t=e.children,n=e.themeName,r=(0,s.useState)(!1),O=(0,a.Z)(r,2),i=O[0],o=O[1],c=(0,s.useState)(Gh.okaidia),l=(0,a.Z)(c,2),u=l[0],p=l[1],d=n;d=/(gruvbox)/i.test(n||"")?null===n||void 0===n?void 0:n.replace(/\s+?(dark|light)/gi," dark"):null===n||void 0===n?void 0:n.replace(/\s+?(dark|light)/gi,"");var h=Fh(d||"")||[];return(0,s.useEffect)((function(){n&&p(Gh[Mh(n)])}),[n]),(0,wn.jsxs)(Wh,{children:[(0,wn.jsxs)(Hh,{children:[(0,wn.jsxs)(Bh,{children:[n," Theme"]}),(0,wn.jsx)(zh,{value:"npm install @uiw/codemirror-theme-".concat(h.join("-")," --save")}),(0,wn.jsx)("div",{children:(0,wn.jsx)(Jh,{onClick:function(){return o(!i)},children:i?"Preview Theme":"Preview Document"})})]}),(0,wn.jsxs)(Kh,{children:[i&&(0,wn.jsx)(Ql,{source:u,style:{width:980,padding:"10px 20px 150px 0"}}),!i&&t]})]})},tf=function(e){var t=e.children;e.name;return(0,wn.jsx)(Wh,{children:(0,wn.jsx)(Kh,{children:t})})},nf={comment:"#787b80",lineComment:"",blockComment:"",docComment:"",name:"",typeDefinition:"#194a7b",typeName:"#194a7b",typeStandard:"",tagName:"#008a02",variableName:"#1a00db",variableNameDefinition:"",variableNameFunction:"",propertyName:"",propertyNameDefinition:"",propertyNameFunction:"",propertyNameSpecial:"",attributeName:"",attributeValue:"",className:"",classNameConstant:"",labelName:"",namespace:"",macroName:"",literal:"",string:"",stringSpecial:"",docString:"",character:"",number:"",integer:"",float:"",bool:"",regexp:"",escape:"",color:"",url:"",keyword:"",self:"",null:"",atom:"",unit:"",modifier:"",operatorKeyword:"",controlKeyword:"",definitionKeyword:"",moduleKeyword:"",operator:"",derefOperator:"",arithmeticOperator:"",logicOperator:"",bitwiseOperator:"",brace:"",angleBracket:"",compareOperator:"",updateOperator:"",definitionOperator:"",typeOperator:"",controlOperator:"",punctuation:"",separator:"",bracket:"",squareBracket:"",paren:"",content:"",heading:"",heading1:"",heading2:"",heading3:"",heading4:"",heading5:"",heading6:"",contentSeparator:"",list:"",quote:"",emphasis:"",strong:"",link:"",monospace:"",strikethrough:"",inserted:"",deleted:"",changed:"",invalid:"",meta:"",documentMeta:"",annotation:"",processingInstruction:""},rf=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return e.comment&&t.push("{ tag: t.comment, color: '".concat(e.comment,"' },")),e.lineComment&&t.push("{ tag: t.lineComment, color: '".concat(e.lineComment,"' },")),e.blockComment&&t.push("{ tag: t.blockComment, color: '".concat(e.blockComment,"' },")),e.docComment&&t.push("{ tag: t.docComment, color: '".concat(e.docComment,"' },")),e.name&&t.push("{ tag: t.name, color: '".concat(e.name,"' },")),e.typeDefinition&&t.push("{ tag: t.definition(t.typeName), color: '".concat(e.typeDefinition,"' },")),e.typeName&&t.push("{ tag: t.typeName, color: '".concat(e.typeName,"' },")),e.typeStandard&&t.push("{ tag: t.standard(t.typeName), color: '".concat(e.typeName,"' },")),e.tagName&&t.push("{ tag: t.tagName, color: '".concat(e.tagName,"' },")),e.variableName&&t.push("{ tag: t.variableName, color: '".concat(e.variableName,"' },")),e.variableNameDefinition&&t.push("{ tag: t.definition(t.variableName), color: '".concat(e.variableNameDefinition,"' },")),e.variableNameFunction&&t.push("{ tag: t.function(t.variableName), color: '".concat(e.variableNameFunction,"' },")),e.propertyName&&t.push("{ tag: t.propertyName, color: '".concat(e.propertyName,"' },")),e.propertyNameFunction&&t.push("{ tag: t.function(t.propertyName), color: '".concat(e.propertyNameFunction,"' },")),e.propertyNameDefinition&&t.push("{ tag: t.definition(t.propertyName), color: '".concat(e.propertyNameDefinition,"' },")),e.propertyNameSpecial&&t.push("{ tag: t.special(t.propertyName), color: '".concat(e.propertyNameSpecial,"' },")),e.attributeName&&t.push("{ tag: t.attributeName, color: '".concat(e.attributeName,"' },")),e.className&&t.push("{ tag: t.className, color: '".concat(e.className,"' },")),e.classNameConstant&&t.push("{ tag: t.constant(t.className), color: '".concat(e.className,"' },")),e.labelName&&t.push("{ tag: t.labelName, color: '".concat(e.labelName,"' },")),e.namespace&&t.push("{ tag: t.namespace, color: '".concat(e.namespace,"' },")),e.macroName&&t.push("{ tag: t.macroName, color: '".concat(e.macroName,"' },")),e.literal&&t.push("{ tag: t.literal, color: '".concat(e.literal,"' },")),e.string&&t.push("{ tag: t.string, color: '".concat(e.string,"' },")),e.stringSpecial&&t.push("{ tag: t.special(t.string), color: '".concat(e.stringSpecial,"' },")),e.docString&&t.push("{ tag: t.docString, color: '".concat(e.docString,"' },")),e.character&&t.push("{ tag: t.character, color: '".concat(e.character,"' },")),e.attributeValue&&t.push("{ tag: t.attributeValue, color: '".concat(e.attributeValue,"' },")),e.number&&t.push("{ tag: t.number, color: '".concat(e.number,"' },")),e.integer&&t.push("{ tag: t.integer, color: '".concat(e.integer,"' },")),e.float&&t.push("{ tag: t.float, color: '".concat(e.float,"' },")),e.bool&&t.push("{ tag: t.bool, color: '".concat(e.bool,"' },")),e.regexp&&t.push("{ tag: t.regexp, color: '".concat(e.regexp,"' },")),e.escape&&t.push("{ tag: t.escape, color: '".concat(e.escape,"' },")),e.color&&t.push("{ tag: t.color, color: '".concat(e.color,"' },")),e.url&&t.push("{ tag: t.url, color: '".concat(e.url,"' },")),e.keyword&&t.push("{ tag: t.keyword, color: '".concat(e.keyword,"' },")),e.self&&t.push("{ tag: t.self, color: '".concat(e.self,"' },")),e.null&&t.push("{ tag: t.null, color: '".concat(e.null,"' },")),e.atom&&t.push("{ tag: t.atom, color: '".concat(e.atom,"' },")),e.unit&&t.push("{ tag: t.unit, color: '".concat(e.unit,"' },")),e.modifier&&t.push("{ tag: t.modifier, color: '".concat(e.modifier,"' },")),e.operatorKeyword&&t.push("{ tag: t.operatorKeyword, color: '".concat(e.operatorKeyword,"' },")),e.controlKeyword&&t.push("{ tag: t.controlKeyword, color: '".concat(e.controlKeyword,"' },")),e.definitionKeyword&&t.push("{ tag: t.definitionKeyword, color: '".concat(e.definitionKeyword,"' },")),e.moduleKeyword&&t.push("{ tag: t.moduleKeyword, color: '".concat(e.moduleKeyword,"' },")),e.operator&&t.push("{ tag: t.operator, color: '".concat(e.operator,"' },")),e.derefOperator&&t.push("{ tag: t.derefOperator, color: '".concat(e.derefOperator,"' },")),e.arithmeticOperator&&t.push("{ tag: t.arithmeticOperator, color: '".concat(e.arithmeticOperator,"' },")),e.logicOperator&&t.push("{ tag: t.logicOperator, color: '".concat(e.logicOperator,"' },")),e.logicOperator&&t.push("{ tag: t.bitwiseOperator, color: '".concat(e.logicOperator,"' },")),e.compareOperator&&t.push("{ tag: t.compareOperator, color: '".concat(e.compareOperator,"' },")),e.updateOperator&&t.push("{ tag: t.updateOperator, color: '".concat(e.updateOperator,"' },")),e.definitionOperator&&t.push("{ tag: t.definitionOperator, color: '".concat(e.definitionOperator,"' },")),e.typeOperator&&t.push("{ tag: t.typeOperator, color: '".concat(e.typeOperator,"' },")),e.controlOperator&&t.push("{ tag: t.controlOperator, color: '".concat(e.controlOperator,"' },")),e.punctuation&&t.push("{ tag: t.punctuation, color: '".concat(e.punctuation,"' },")),e.separator&&t.push("{ tag: t.separator, color: '".concat(e.separator,"' },")),e.bracket&&t.push("{ tag: t.bracket, color: '".concat(e.bracket,"' },")),e.angleBracket&&t.push("{ tag: t.angleBracket, color: '".concat(e.angleBracket,"' },")),e.squareBracket&&t.push("{ tag: t.squareBracket, color: '".concat(e.squareBracket,"' },")),e.paren&&t.push("{ tag: t.paren, color: '".concat(e.paren,"' },")),e.brace&&t.push("{ tag: t.brace, color: '".concat(e.brace,"' },")),e.content&&t.push("{ tag: t.content, color: '".concat(e.content,"' },")),e.heading&&t.push("{ tag: t.heading, color: '".concat(e.heading,"' },")),e.heading1&&t.push("{ tag: t.heading1, color: '".concat(e.heading1,"' },")),e.heading2&&t.push("{ tag: t.heading2, color: '".concat(e.heading2,"' },")),e.heading3&&t.push("{ tag: t.heading3, color: '".concat(e.heading3,"' },")),e.heading4&&t.push("{ tag: t.heading4, color: '".concat(e.heading4,"' },")),e.heading5&&t.push("{ tag: t.heading5, color: '".concat(e.heading5,"' },")),e.heading6&&t.push("{ tag: t.heading6, color: '".concat(e.heading6,"' },")),e.contentSeparator&&t.push("{ tag: t.contentSeparator, color: '".concat(e.contentSeparator,"' },")),e.list&&t.push("{ tag: t.list, color: '".concat(e.list,"' },")),e.quote&&t.push("{ tag: t.quote, color: '".concat(e.quote,"' },")),e.emphasis&&t.push("{ tag: t.emphasis, color: '".concat(e.emphasis,"' },")),e.strong&&t.push("{ tag: t.strong, color: '".concat(e.strong,"' },")),e.link&&t.push("{ tag: t.link, color: '".concat(e.link,"' },")),e.monospace&&t.push("{ tag: t.monospace, color: '".concat(e.monospace,"' },")),e.strikethrough&&t.push("{ tag: t.strikethrough, color: '".concat(e.strikethrough,"' },")),e.inserted&&t.push("{ tag: t.inserted, color: '".concat(e.inserted,"' },")),e.deleted&&t.push("{ tag: t.deleted, color: '".concat(e.deleted,"' },")),e.changed&&t.push("{ tag: t.changed, color: '".concat(e.changed,"' },")),e.invalid&&t.push("{ tag: t.invalid, color: '".concat(e.invalid,"' },")),e.meta&&t.push("{ tag: t.meta, color: '".concat(e.meta,"' },")),e.documentMeta&&t.push("{ tag: t.documentMeta, color: '".concat(e.documentMeta,"' },")),e.annotation&&t.push("{ tag: t.annotation, color: '".concat(e.annotation,"' },")),e.processingInstruction&&t.push("{ tag: t.processingInstruction, color: '".concat(e.processingInstruction,"' },")),"import CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n dark: '".concat(e.dark,"',\n settings: {\n background: '").concat(e.background,"',\n foreground: '").concat(e.foreground,"',\n caret: '").concat(e.caret,"',\n selection: '").concat(e.selection,"',\n selectionMatch: '").concat(e.selectionMatch,"',\n gutterBackground: '").concat(e.gutterBackground,"',\n gutterForeground: '").concat(e.gutterForeground,"',\n gutterBorder: '").concat(e.gutterBorder,"',\n gutterActiveForeground: '").concat(e.gutterActiveForeground,"',\n lineHighlight: '").concat(e.lineHighlight,"',\n },\n styles: [\n ").concat(t.join("\n "),"\n ],\n});\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;")},Of=["children","onChange"],of=["color","children"],af=yn.div(dh||(dh=i(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n"]))),sf=yn.div(hh||(hh=i(["\n /* font-weight: bold; */\n"]))),cf=yn.div(fh||(fh=i(["\n width: 16px;\n height: 16px;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n border-radius: 3px;\n position: relative;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='12' height='12' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\");\n &::before {\n content: ' ';\n display: block;\n position: absolute;\n left: 1px;\n right: 1px;\n top: 1px;\n bottom: 1px;\n border-radius: 2px;\n ","\n }\n input {\n position: relative;\n z-index: 3;\n border: 0;\n background-color: transparent;\n padding-left: 16px;\n height: 16px;\n }\n"])),(function(e){return e.color&&on(mh||(mh=i(["\n background-color: ",";\n "])),e.color)})),lf=function(e){e.children;var t=e.onChange,n=Jd(e,Of);return(0,wn.jsx)(cf,{color:n.value,children:(0,wn.jsx)("input",(0,er.Z)((0,er.Z)({type:"color"},n),{},{onChange:t}))})},uf=function(e){var t=e.color,n=e.children,r=Jd(e,of);return(0,wn.jsxs)(af,{children:[(0,wn.jsx)(sf,{children:n}),(0,wn.jsx)(lf,(0,er.Z)({value:t},r))]})},pf=function(e){var t=e.theme,n=e.onChange,r=function(e,t){n&&n(t)};return(0,wn.jsxs)("div",{children:[(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"radio",name:"theme",onChange:function(e){return r(0,"light")},checked:"light"===t})," ","light"]}),(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"radio",name:"theme",onChange:function(e){return r(0,"dark")},checked:"dark"===t})," ","dark"]})]})},df=["onChange","styles"],hf=yn.select(Qh||(Qh=i(["\n position: absolute;\n right: 10px;\n top: 10px;\n padding: 3px 6px;\n z-index: 9;\n"]))),ff=Object.keys(Fd),mf=function(e){var t=e.onChange,r=e.styles,O=Jd(e,df),i=(0,s.useState)("code"),o=(0,a.Z)(i,2),c=o[0],l=o[1];return(0,s.useEffect)((function(){"code"===c&&t&&t(rf(r),"code",Fd.jsx())}),[]),(0,wn.jsxs)(hf,(0,er.Z)((0,er.Z)({value:c,onChange:function(e){var O=e.target.value;if(l(O),"code"!==O)try{n(620)("./sample.".concat(O.toLocaleLowerCase(),".txt")).then((function(e){var n=Fd[O];t&&t(e.default,O,n?n():void 0)})).catch((function(e){t&&t("","",void 0)}))}catch(i){}else t&&t(rf(r),"code",Fd.jsx())}},O),{},{children:[(0,wn.jsx)("option",{value:"code",children:"Sample Code"}),ff.map((function(e,t){return(0,wn.jsx)("option",{value:e,children:e},t)}))]}))},Qf=n(8530),$f=n(3346),gf=n(8186),Pf=n(7587),vf=n(2877),yf=n(7548),bf=n(3356),Sf=n(1957),Tf=n(1233),xf=n(2085),wf=n(7252),Xf=n(65),kf=n(7475),_f=n(6624),Rf=n(4775),Zf=n(8194),Ef=["theme"],Uf=yn.div($h||($h=i(["\n font-weight: bold;\n font-size: 16px;\n padding: 5px 0;\n"]))),Wf=yn.div(gh||(gh=i(["\n max-width: 980px;\n"]))),qf=function(e){var t=e.theme,n=Jd(e,Ef);return(0,wn.jsxs)(Wf,(0,er.Z)((0,er.Z)({},n),{},{children:[(0,wn.jsx)(Uf,{children:"JavaScript"}),(0,wn.jsx)(Al.default,{value:Qf.default,height:"300px",theme:t,extensions:[zl,Fd.javascript()]}),(0,wn.jsx)(Uf,{children:"JSX"}),(0,wn.jsx)(Al.default,{value:$f.default,height:"300px",theme:t,extensions:[zl,Fd.jsx()]}),(0,wn.jsx)(Uf,{children:"TypeScript"}),(0,wn.jsx)(Al.default,{value:gf.default,height:"300px",theme:t,extensions:[zl,Fd.typescript()]}),(0,wn.jsx)(Uf,{children:"TSX"}),(0,wn.jsx)(Al.default,{value:Pf.default,height:"300px",theme:t,extensions:[zl,Fd.tsx()]}),(0,wn.jsx)(Uf,{children:"JSON"}),(0,wn.jsx)(Al.default,{value:vf.default,height:"300px",theme:t,extensions:[zl,Fd.json()]}),(0,wn.jsx)(Uf,{children:"HTML"}),(0,wn.jsx)(Al.default,{value:yf.default,height:"300px",theme:t,extensions:[zl,Fd.html()]}),(0,wn.jsx)(Uf,{children:"Markdown"}),(0,wn.jsx)(Al.default,{value:Zf.default,height:"300px",theme:t,extensions:[zl,Fd.markdown()]}),(0,wn.jsx)(Uf,{children:"CSS"}),(0,wn.jsx)(Al.default,{value:bf.default,height:"300px",theme:t,extensions:[zl,Fd.css()]}),(0,wn.jsx)(Uf,{children:"PHP"}),(0,wn.jsx)(Al.default,{value:Sf.default,height:"300px",theme:t,extensions:[zl,Fd.php()]}),(0,wn.jsx)(Uf,{children:"JAVA"}),(0,wn.jsx)(Al.default,{value:xf.default,height:"300px",theme:t,extensions:[zl,Fd.java()]}),(0,wn.jsx)(Uf,{children:"Rust"}),(0,wn.jsx)(Al.default,{value:Tf.default,height:"300px",theme:t,extensions:[zl,Fd.rust()]}),(0,wn.jsx)(Uf,{children:"Go"}),(0,wn.jsx)(Al.default,{value:wf.default,height:"300px",theme:t,extensions:[zl,Fd.go()]}),(0,wn.jsx)(Uf,{children:"MySQL"}),(0,wn.jsx)(Al.default,{value:Xf.default,height:"300px",theme:t,extensions:[zl,Fd.mysql()]}),(0,wn.jsx)(Uf,{children:"Python"}),(0,wn.jsx)(Al.default,{value:kf.default,height:"300px",theme:t,extensions:[zl,Fd.python()]}),(0,wn.jsx)(Uf,{children:"Shell"}),(0,wn.jsx)(Al.default,{value:_f.default,height:"300px",theme:t,extensions:[zl,Fd.shell()]}),(0,wn.jsx)(Uf,{children:"Swift"}),(0,wn.jsx)(Al.default,{value:Rf.default,height:"300px",theme:t,extensions:[zl,Fd.swift()]})]}))},Cf=yn.div(Ph||(Ph=i(["\n width: 220px;\n min-width: 220px;\n overflow: auto;\n height: calc(100vh - 42px);\n padding: 18px 16px 120px 16px;\n border-right: 1px solid var(--color-border-default);\n display: flex;\n flex-direction: column;\n gap: 5px;\n"]))),zf=yn.div(vh||(vh=i(["\n height: 100%;\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n position: relative;\n"]))),Yf=yn.div(yh||(yh=i(["\n color: var(--color-fg-subtle);\n font-size: 12px;\n padding: 0 0;\n"])));function Af(e,t){return e&&t?(t.color=e,[t]):[]}function jf(){var e=Qe(),t=ge().type,n=void 0===t?"light":t,r=(0,s.useState)((0,Hu.javascript)({jsx:!0})),O=(0,a.Z)(r,2),i=O[0],o=O[1],c=(0,s.useState)(""),l=(0,a.Z)(c,2),u=l[0],p=l[1],d=(0,s.useState)("jsx"),h=(0,a.Z)(d,2),f=h[0],m=h[1],Q=(0,s.useState)("light"),$=(0,a.Z)(Q,2),g=$[0],P=$[1],v=(0,s.useState)({background:"#ffffff",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",selectionMatch:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C",gutterBorder:"#ddd",gutterActiveForeground:"",lineHighlight:"#EFEFEF"}),y=(0,a.Z)(v,2),b=y[0],S=y[1],T=(0,s.useState)(nf),x=(0,a.Z)(T,2),w=x[0],X=x[1],k=Il({theme:g,settings:(0,er.Z)({},b),styles:[Af(w.comment,{tag:jl.pJ.comment}),Af(w.lineComment,{tag:jl.pJ.lineComment}),Af(w.blockComment,{tag:jl.pJ.blockComment}),Af(w.docComment,{tag:jl.pJ.docComment}),Af(w.name,{tag:jl.pJ.name}),Af(w.typeDefinition,{tag:jl.pJ.definition(jl.pJ.typeName)}),Af(w.typeStandard,{tag:jl.pJ.standard(jl.pJ.typeName)}),Af(w.typeName,{tag:jl.pJ.typeName}),Af(w.tagName,{tag:jl.pJ.tagName}),Af(w.variableName,{tag:jl.pJ.variableName}),Af(w.variableNameDefinition,{tag:jl.pJ.definition(jl.pJ.variableName)}),Af(w.variableNameFunction,{tag:jl.pJ.function(jl.pJ.variableName)}),Af(w.propertyName,{tag:jl.pJ.propertyName}),Af(w.propertyNameDefinition,{tag:jl.pJ.definition(jl.pJ.propertyName)}),Af(w.propertyNameSpecial,{tag:jl.pJ.special(jl.pJ.propertyName)}),Af(w.propertyNameFunction,{tag:jl.pJ.function(jl.pJ.propertyName)}),Af(w.attributeName,{tag:jl.pJ.attributeName}),Af(w.attributeValue,{tag:jl.pJ.attributeValue}),Af(w.className,{tag:jl.pJ.className}),Af(w.classNameConstant,{tag:jl.pJ.constant(jl.pJ.className)}),Af(w.labelName,{tag:jl.pJ.labelName}),Af(w.namespace,{tag:jl.pJ.namespace}),Af(w.macroName,{tag:jl.pJ.macroName}),Af(w.literal,{tag:jl.pJ.literal}),Af(w.string,{tag:jl.pJ.string}),Af(w.stringSpecial,{tag:jl.pJ.special(jl.pJ.string)}),Af(w.docString,{tag:jl.pJ.docString}),Af(w.character,{tag:jl.pJ.character}),Af(w.number,{tag:jl.pJ.number}),Af(w.integer,{tag:jl.pJ.integer}),Af(w.float,{tag:jl.pJ.float}),Af(w.bool,{tag:jl.pJ.bool}),Af(w.regexp,{tag:jl.pJ.regexp}),Af(w.escape,{tag:jl.pJ.escape}),Af(w.color,{tag:jl.pJ.color}),Af(w.url,{tag:jl.pJ.url}),Af(w.keyword,{tag:jl.pJ.keyword}),Af(w.self,{tag:jl.pJ.self}),Af(w.null,{tag:jl.pJ.null}),Af(w.atom,{tag:jl.pJ.atom}),Af(w.unit,{tag:jl.pJ.unit}),Af(w.modifier,{tag:jl.pJ.modifier}),Af(w.operatorKeyword,{tag:jl.pJ.operatorKeyword}),Af(w.controlKeyword,{tag:jl.pJ.controlKeyword}),Af(w.definitionKeyword,{tag:jl.pJ.definitionKeyword}),Af(w.moduleKeyword,{tag:jl.pJ.moduleKeyword}),Af(w.operator,{tag:jl.pJ.operator}),Af(w.derefOperator,{tag:jl.pJ.derefOperator}),Af(w.arithmeticOperator,{tag:jl.pJ.arithmeticOperator}),Af(w.logicOperator,{tag:jl.pJ.logicOperator}),Af(w.bitwiseOperator,{tag:jl.pJ.bitwiseOperator}),Af(w.compareOperator,{tag:jl.pJ.compareOperator}),Af(w.updateOperator,{tag:jl.pJ.updateOperator}),Af(w.definitionOperator,{tag:jl.pJ.definitionOperator}),Af(w.typeOperator,{tag:jl.pJ.typeOperator}),Af(w.controlOperator,{tag:jl.pJ.controlOperator}),Af(w.punctuation,{tag:jl.pJ.punctuation}),Af(w.separator,{tag:jl.pJ.separator}),Af(w.bracket,{tag:jl.pJ.bracket}),Af(w.angleBracket,{tag:jl.pJ.angleBracket}),Af(w.squareBracket,{tag:jl.pJ.squareBracket}),Af(w.paren,{tag:jl.pJ.paren}),Af(w.brace,{tag:jl.pJ.brace}),Af(w.content,{tag:jl.pJ.content}),Af(w.heading,{tag:jl.pJ.heading}),Af(w.heading1,{tag:jl.pJ.heading1}),Af(w.heading2,{tag:jl.pJ.heading2}),Af(w.heading3,{tag:jl.pJ.heading3}),Af(w.heading4,{tag:jl.pJ.heading4}),Af(w.heading5,{tag:jl.pJ.heading5}),Af(w.heading6,{tag:jl.pJ.heading6}),Af(w.contentSeparator,{tag:jl.pJ.contentSeparator}),Af(w.list,{tag:jl.pJ.list}),Af(w.quote,{tag:jl.pJ.quote}),Af(w.emphasis,{tag:jl.pJ.emphasis}),Af(w.strong,{tag:jl.pJ.strong}),Af(w.link,{tag:jl.pJ.link}),Af(w.monospace,{tag:jl.pJ.monospace}),Af(w.strikethrough,{tag:jl.pJ.strikethrough}),Af(w.inserted,{tag:jl.pJ.inserted}),Af(w.deleted,{tag:jl.pJ.deleted}),Af(w.changed,{tag:jl.pJ.changed}),Af(w.invalid,{tag:jl.pJ.invalid}),Af(w.meta,{tag:jl.pJ.meta}),Af(w.documentMeta,{tag:jl.pJ.documentMeta}),Af(w.annotation,{tag:jl.pJ.annotation}),Af(w.processingInstruction,{tag:jl.pJ.processingInstruction})].flat()});return(0,wn.jsxs)(s.Fragment,{children:[(0,wn.jsxs)(Cf,{children:[(0,wn.jsx)(pf,{theme:g,onChange:function(e){return P(e)}}),(0,wn.jsx)(Yf,{children:"Editor"}),Object.keys(b).map((function(e,t){return(0,wn.jsx)(uf,{color:b[e],onChange:function(t){return S((0,er.Z)((0,er.Z)({},b),{},(0,yO.Z)({},e,t.target.value)))},children:e},t)})),(0,wn.jsx)(Yf,{children:"Syntax Highlighting"}),Object.keys(w).map((function(e,t){return(0,wn.jsx)(uf,{color:w[e],onChange:function(t){return X((0,er.Z)((0,er.Z)({},w),{},(0,yO.Z)({},e,t.target.value)))},children:e},t)}))]}),(0,wn.jsxs)(zf,{children:["single"===n&&(0,wn.jsx)(Al.default,{readOnly:"code"===f,theme:k,extensions:[i,zl],value:"code"===f?rf((0,er.Z)((0,er.Z)((0,er.Z)({},b),w),{},{dark:g})):u,height:"100%",style:{minHeight:"100%"}}),(0,wn.jsxs)(hf,{value:n,onChange:function(t){return e("/theme/editor/".concat(t.target.value))},children:[(0,wn.jsx)("option",{value:"single",children:"Single language"}),(0,wn.jsx)("option",{value:"multiple",children:"Multiple languages"})]}),"single"===n&&(0,wn.jsx)(mf,{style:{top:40},styles:(0,er.Z)((0,er.Z)((0,er.Z)({},b),w),{},{dark:g}),onChange:function(e,t,n){m(t),p(e||""),o(n||[])}}),"multiple"===n&&(0,wn.jsx)(qf,{theme:k,style:{padding:"30px 30px",maxWidth:860}})]})]})}var Vf,If=yn.div(bh||(bh=i(["\n display: flex;\n flex: 1;\n"])));function Nf(){var e=ge(),t=e.name,n=void 0===t?"":t,r=e.lightOrDark,O=void 0===r?"":r;return(0,s.useEffect)((function(){var e="CodeMirror 6 themes";(n||O)&&(e="CodeMirror 6 ".concat(n," ").concat(O?" ".concat(O):""," theme")),document.title=e}),[n,O]),(0,wn.jsxs)(_h,{children:[(0,wn.jsx)(Eh,{}),(0,wn.jsx)(If,{children:(0,wn.jsx)(_e,{})})]})}var Gf=yn(Ve)(Vf||(Vf=i(["\n cursor: pointer;\n padding: 6px 8px;\n font-size: 16px;\n text-decoration: none;\n text-transform: capitalize;\n border-radius: 2px;\n transition: background-color 0.3s;\n color: var(--color-accent-emphasis);\n &.active {\n background-color: var(--color-neutral-muted);\n color: var(--color-theme-text);\n }\n &:hover {\n background-color: var(--color-neutral-muted);\n }\n"])));function Df(){return(0,wn.jsxs)(Cf,{children:[(0,wn.jsx)(Gf,{to:"/theme/home",children:"Home"}),Object.keys(Dh).map((function(e,t){var n=yr(Fh(e)||[]),r=n[0],O=n[1],i=n.slice(2),o=[r,O].concat((0,l.Z)(i)).filter(Boolean).map((function(e){return(null===e||void 0===e?void 0:e.slice(0,1).toUpperCase())+(null===e||void 0===e?void 0:e.slice(1).toLowerCase())})).join(" "),a="/theme/data/".concat(r).concat(O?"/".concat(O):"").concat(i?"/".concat(i.join("/")):"");return(0,wn.jsx)(Gf,{to:a.replace(/\/$/gi,""),children:o},t)}))]})}var Ff,Lf,Mf,Jf,Bf,Hf,Kf,em,tm,nm,rm,Om,im,om,am="\x3c!--rehype:ignore:start--\x3e\n\n# Events Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events)\n\nEvents Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-events --save\n```\n\n```js\nimport * as events from '@uiw/codemirror-extensions-events';\n\nconst extension1 = events.scroll({\n scroll: (evn) => {\n console.log(evn.target.scrollTop);\n },\n});\n\nconst extension2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nfunction App() {\n const [scrollTop, setScrollTop] = useState(0);\n\n const eventExt = events.scroll({\n scroll: (evn) => {\n setScrollTop(evn.target.scrollTop);\n },\n });\n\n const eventExt2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n });\n\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nconst eventExt = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [eventExt],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView } from '@codemirror/view';\nexport declare type Events = Record<\n K,\n (this: HTMLElement, event: HTMLElementEventMap[K]) => void\n>;\n/**\n * The DOM element that can be styled to scroll.\n * (Note that it may not have been, so you can't assume this is scrollable.)\n */\nexport declare function dom(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The DOM element that wraps the entire editor view.\n */\nexport declare function scroll(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The editable DOM element holding the editor content.\n * You should not, usually, interact with this content directly though the DOM,\n * since the editor will immediately undo most of the changes you make.\n */\nexport declare function content(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",sm="\x3c!--rehype:ignore:start--\x3e\n\n# Color Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color)\n\nColor Extensions for CodeMirror6.\n\n[![Codemirror Extensions Color](https://user-images.githubusercontent.com/1680273/178143104-26e0564b-bd3e-42cd-a8d4-b40edf9ec44d.png)](https://uiwjs.github.io/react-codemirror/#/extensions/color)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-color --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { color, colorView, colorTheme } from '@uiw/codemirror-extensions-color';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { color } from '@uiw/codemirror-extensions-color';\n\nconst state = EditorState.create({\n doc: 'body { color: #333; }',\n extensions: [color],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView, ViewUpdate, DecorationSet } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nexport declare enum ColorType {\n rgb = 'RGB',\n hex = 'HEX',\n named = 'NAMED',\n hsl = 'HSL',\n}\nexport interface ColorState {\n from: number;\n to: number;\n alpha: string;\n colorType: ColorType;\n}\nexport declare const colorView: (showPicker?: boolean) => ViewPlugin<{\n decorations: DecorationSet;\n update(update: ViewUpdate): void;\n changePicker(view: EditorView, canBeEdited: boolean): void;\n}>;\nexport declare const colorTheme: Extension;\nexport declare const color: Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",cm="\x3c!--rehype:ignore:start--\x3e\n\n# Relative Line Numbers Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative)\n\nRelative line numbers Extensions for CodeMirror6.\n\n[![Relative line numbers Extensions](https://user-images.githubusercontent.com/1680273/178180348-c53b4b91-527c-4a90-9e60-20269ef9a598.png)](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-line-numbers-relative --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [lineNumbersRelative],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",lm="\x3c!--rehype:ignore:start--\x3e\n\n# Load languages Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs)\n\nLoad languages Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-langs --save\n```\n\n```jsx\nimport { loadLanguage, langNames, langs } from '@uiw/codemirror-extensions-langs';\n\nloadLanguage('tsx');\n\nlangs.tsx();\n\nconsole.log('langNames:', langNames); // => \"jsx\" | \"typescript\" | \"javascript\" | \"tsx\"\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { loadLanguage } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { loadLanguage, langs } from '@uiw/codemirror-extensions-langs';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [langs.jsx()],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",um="\x3c!--rehype:ignore:start--\x3e\n\n# Themes all for CodeMirror 6.\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes-all --save\n```\n\n```js\nimport * as themes from '@uiw/codemirror-themes-all';\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abcdef } from '@uiw/codemirror-themes-all';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abcdef } from '@uiw/codemirror-themes-all';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nexport * from '@uiw/codemirror-theme-abcdef';\nexport * from '@uiw/codemirror-theme-androidstudio';\nexport * from '@uiw/codemirror-theme-atomone';\nexport * from '@uiw/codemirror-theme-aura';\nexport * from '@uiw/codemirror-theme-bbedit';\nexport * from '@uiw/codemirror-theme-bespin';\nexport * from '@uiw/codemirror-theme-darcula';\nexport * from '@uiw/codemirror-theme-dracula';\nexport * from '@uiw/codemirror-theme-duotone';\nexport * from '@uiw/codemirror-theme-eclipse';\nexport * from '@uiw/codemirror-theme-github';\nexport * from '@uiw/codemirror-theme-gruvbox-dark';\nexport * from '@uiw/codemirror-theme-material';\nexport * from '@uiw/codemirror-theme-noctis-lilac';\nexport * from '@uiw/codemirror-theme-nord';\nexport * from '@uiw/codemirror-theme-okaidia';\nexport * from '@uiw/codemirror-theme-solarized';\nexport * from '@uiw/codemirror-theme-sublime';\nexport * from '@uiw/codemirror-theme-tokyo-night';\nexport * from '@uiw/codemirror-theme-tokyo-night-storm';\nexport * from '@uiw/codemirror-theme-tokyo-night-day';\nexport * from '@uiw/codemirror-theme-vscode';\nexport * from '@uiw/codemirror-theme-xcode';\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",pm="\x3c!--rehype:ignore:start--\x3e\n\n# Hyper link Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link)\n\nHyper link Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-hyper-link --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { hyperLink } from '@uiw/codemirror-extensions-hyper-link';\n\nconst code = `https://uiwjs.github.io/react-codemirror`;\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { hyperLink } from '@uiw/codemirror-extensions-hyper-link';\n\nconst code = `https://uiwjs.github.io/react-codemirror`;\n\nconst state = EditorState.create({\n doc: code,\n extensions: [hyperLink],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",dm="\x3c!--rehype:ignore:start--\x3e\n\n# Mentions Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\n\nMentions Extensions for CodeMirror6.\n\n[![Mentions Extensions](https://user-images.githubusercontent.com/1680273/183007711-68109ca3-7140-411e-a747-53bcca0fa4c7.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-mentions --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [mentions(users)],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",hm="\x3c!--rehype:ignore:start--\x3e\n\n# Zebra Stripes Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\n\nStyles alternating lines for CodeMirror6.\n\n[![Zebra Stripes Extensions](https://user-images.githubusercontent.com/1680273/205496628-e7e6f83f-18e9-4bff-8bc8-71a913c60687.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-zebra-stripes --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-zebra-stripes';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-zebra-stripes';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { mentions } from '@uiw/codemirror-zebra-stripes';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [zebraStripes({ step: 2 })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport declare type ZebraStripesOptions = {\n step?: number | null;\n lightColor?: string;\n darkColor?: string;\n /**\n * @example `[1,[2,6], 10]`\n */\n lineNumber?: (number | number[])[] | null;\n};\nexport declare function zebraStripes(options?: ZebraStripesOptions): Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",fm={color:Sh,"basic-setup":sm,events:am,"themes-all":um,"line-numbers-relative":cm,languages:lm,"hyper-link":pm,mentions:dm,"zebra-stripes":hm},mm=yn.div(Ff||(Ff=i(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 120px 20px;\n"]))),Qm=function(){var e=me();return(0,s.useEffect)((function(){document.title="".concat(e.pathname.split("/").join(" ")," for CodeMirror 6")}),[e]),(0,wn.jsxs)(_h,{children:[(0,wn.jsx)(Eh,{}),(0,wn.jsxs)(If,{children:[(0,wn.jsx)(Cf,{children:Object.keys(fm).map((function(e,t){return(0,wn.jsx)(Gf,{to:"/extensions/".concat(e),children:e.split("-").join(" ")},t)}))}),(0,wn.jsx)(tf,{children:(0,wn.jsx)(_e,{})})]})]})},$m=["children"],gm=yn.label(Lf||(Lf=i(["\n user-select: none;\n white-space: nowrap;\n"]))),Pm=function(e){var t=e.children,n=Jd(e,$m);return(0,wn.jsxs)(gm,{children:[(0,wn.jsx)("input",(0,er.Z)({type:"checkbox"},n)),(0,wn.jsx)("span",{children:t})]})},vm=yn.div(Mf||(Mf=i(["\n padding-bottom: 32px;\n"]))),ym=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]);var i=(0,s.useState)({}),o=(0,a.Z)(i,2),c=o[0],l=o[1];return(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:Sh,theme:r,basicSetup:c,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown()]}),(0,wn.jsxs)(vm,{children:[(0,wn.jsxs)("select",{value:c.tabSize,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{tabSize:Number(e.target.value||"2")}))},children:[(0,wn.jsx)("option",{value:2,children:"TabSize: 2"}),(0,wn.jsx)("option",{value:4,children:"TabSize: 4"}),(0,wn.jsx)("option",{value:6,children:"TabSize: 6"}),(0,wn.jsx)("option",{value:8,children:"TabSize: 8"})]}),(0,wn.jsx)(Pm,{checked:!1!==c.lineNumbers,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{lineNumbers:e.target.checked}))},children:"lineNumbers"}),(0,wn.jsx)(Pm,{checked:!1!==c.foldGutter,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{foldGutter:e.target.checked}))},children:"foldGutter"}),(0,wn.jsx)(Pm,{checked:!1!==c.highlightActiveLineGutter,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{highlightActiveLineGutter:e.target.checked}))},children:"highlightActiveLineGutter"}),(0,wn.jsx)(Pm,{checked:!1!==c.highlightSpecialChars,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{highlightSpecialChars:e.target.checked}))},children:"highlightSpecialChars"}),(0,wn.jsx)(Pm,{checked:!1!==c.history,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{history:e.target.checked}))},children:"history"}),(0,wn.jsx)(Pm,{checked:!1!==c.drawSelection,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{drawSelection:e.target.checked}))},children:"drawSelection"}),(0,wn.jsx)(Pm,{checked:!1!==c.dropCursor,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{dropCursor:e.target.checked}))},children:"dropCursor"}),(0,wn.jsx)(Pm,{checked:!1!==c.allowMultipleSelections,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{allowMultipleSelections:e.target.checked}))},children:"allowMultipleSelections"}),(0,wn.jsx)(Pm,{checked:!1!==c.indentOnInput,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{indentOnInput:e.target.checked}))},children:"indentOnInput"}),(0,wn.jsx)(Pm,{checked:!1!==c.syntaxHighlighting,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{syntaxHighlighting:e.target.checked}))},children:"syntaxHighlighting"}),(0,wn.jsx)(Pm,{checked:!1!==c.bracketMatching,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{bracketMatching:e.target.checked}))},children:"bracketMatching"}),(0,wn.jsx)(Pm,{checked:!1!==c.closeBrackets,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{closeBrackets:e.target.checked}))},children:"closeBrackets"}),(0,wn.jsx)(Pm,{checked:!1!==c.autocompletion,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{autocompletion:e.target.checked}))},children:"autocompletion"}),(0,wn.jsx)(Pm,{checked:!1!==c.rectangularSelection,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{rectangularSelection:e.target.checked}))},children:"rectangularSelection"}),(0,wn.jsx)(Pm,{checked:!1!==c.crosshairCursor,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{crosshairCursor:e.target.checked}))},children:"crosshairCursor"}),(0,wn.jsx)(Pm,{checked:!1!==c.highlightActiveLine,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{highlightActiveLine:e.target.checked}))},children:"highlightActiveLine"}),(0,wn.jsx)(Pm,{checked:!1!==c.highlightSelectionMatches,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{highlightSelectionMatches:e.target.checked}))},children:"highlightSelectionMatches"}),(0,wn.jsx)(Pm,{checked:!1!==c.closeBracketsKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{closeBracketsKeymap:e.target.checked}))},children:"closeBracketsKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.defaultKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{defaultKeymap:e.target.checked}))},children:"defaultKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.searchKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{searchKeymap:e.target.checked}))},children:"searchKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.historyKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{historyKeymap:e.target.checked}))},children:"historyKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.foldKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{foldKeymap:e.target.checked}))},children:"foldKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.completionKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{completionKeymap:e.target.checked}))},children:"completionKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==c.lintKeymap,onChange:function(e){return l((0,er.Z)((0,er.Z)({},c),{},{lintKeymap:e.target.checked}))},children:"lintKeymap"})]}),(0,wn.jsx)(Ql,{source:Sh})]})},bm=["dark","light"].concat(Object.keys(O)).filter((function(e){return"function"!==typeof O[e]})),Sm=["auto","200px","300px","500px"],Tm=0,xm=yn.div(Jf||(Jf=i(["\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n padding: 16px;\n border-radius: 5px;\n"]))),wm=yn.div(Bf||(Bf=i(["\n margin: 0 auto;\n max-width: 995px;\n padding: 15px 0 0 0;\n > label {\n margin-right: 15px;\n }\n"]))),Xm=yn(Al.default)(Hf||(Hf=i(["\n box-shadow: 0 0 0 1px rgb(16 22 26 / 10%), 0 0 0 rgb(16 22 26 / 0%), 0 1px 1px rgb(16 22 26 / 20%);\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n border-radius: 5px;\n"]))),km=yn.div(Kf||(Kf=i(["\n padding-bottom: 18px;\n"])));function _m(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("javascript"),r=(0,a.Z)(t,2),i=r[0],o=r[1],c=(0,s.useState)("Please enter the code."),l=(0,a.Z)(c,2),u=l[0],p=l[1],d=(0,s.useState)(!1),h=(0,a.Z)(d,2),f=h[0],m=h[1],Q=(0,s.useState)(!0),$=(0,a.Z)(Q,2),g=$[0],P=$[1],v=(0,s.useState)("dark"===e?"dark":"light"),y=(0,a.Z)(v,2),b=y[0],S=y[1],T=(0,s.useState)(""),x=(0,a.Z)(T,2),w=x[0],X=x[1],k=(0,s.useState)(),_=(0,a.Z)(k,2),R=_[0],Z=_[1],E=(0,s.useState)("500px"),U=(0,a.Z)(E,2),W=U[0],q=U[1],C=(0,s.useState)({}),z=(0,a.Z)(C,2),Y=z[0],A=z[1];function j(e){try{n(620)("./sample.".concat(e.toLocaleLowerCase(),".txt")).then((function(t){X(t.default),Fd[e]&&Z([zl,Fd[e]()]),o(e)})).catch((function(t){Fd[e]?Z([zl,Fd[e]()]):Z([zl]),o(e),X("")}))}catch(t){}}return(0,s.useEffect)((function(){j("javascript"),S("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){S(e.detail.colorScheme)}))}),[]),(0,wn.jsxs)(km,{className:"wmde-markdown-var",children:[(0,wn.jsx)(Xm,{value:w,height:W,theme:O[b]||b,editable:g,extensions:R,autoFocus:f,basicSetup:Y,placeholder:u,onChange:function(e){return X(e)},style:{maxWidth:"995px",margin:"-18px auto 0 auto",position:"relative",zIndex:999}}),(0,wn.jsxs)(xm,{children:[(0,wn.jsxs)(wm,{children:[(0,wn.jsx)(Md,{label:"Lang",options:Object.keys(Fd).sort(),value:i,onChange:function(e){return j(e.target.value)}}),(0,wn.jsx)(Md,{label:"Website Theme",options:["dark","light"],value:b,onChange:function(e){document.documentElement.setAttribute("data-color-mode","dark"===e.target.value?"dark":"light"),S(e.target.value)}}),(0,wn.jsx)(Md,{label:"Themes",options:bm,value:b,onChange:function(e){/^(dark|light)$/.test(e.target.value)&&document.documentElement.setAttribute("data-color-mode",e.target.value),S(e.target.value)}})]}),(0,wn.jsxs)(wm,{children:[(0,wn.jsx)(Md,{label:"Height",options:Sm,value:W,onChange:function(e){return q(e.target.value)}}),(0,wn.jsx)("button",{onClick:function(){Tm++,X('console.log("Hello World! '.concat(Tm,'")'))},children:"change code"}),(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"checkbox",checked:f,onChange:function(e){return m(e.target.checked)}}),"autoFocus"]}),(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"checkbox",checked:g,onChange:function(e){return P(e.target.checked)}}),"editable"]}),(0,wn.jsxs)("label",{children:["placeholder:",(0,wn.jsx)("input",{type:"text",value:u,onChange:function(e){return p(e.target.value)}})]}),(0,wn.jsx)(Pm,{checked:!1!==Y.lineNumbers,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{lineNumbers:e.target.checked}))},children:"lineNumbers"}),(0,wn.jsx)(Pm,{checked:!1!==Y.foldGutter,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{foldGutter:e.target.checked}))},children:"foldGutter"}),(0,wn.jsx)(Pm,{checked:!1!==Y.highlightActiveLineGutter,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{highlightActiveLineGutter:e.target.checked}))},children:"highlightActiveLineGutter"}),(0,wn.jsx)(Pm,{checked:!1!==Y.highlightSpecialChars,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{highlightSpecialChars:e.target.checked}))},children:"highlightSpecialChars"}),(0,wn.jsx)(Pm,{checked:!1!==Y.history,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{history:e.target.checked}))},children:"history"}),(0,wn.jsx)(Pm,{checked:!1!==Y.drawSelection,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{drawSelection:e.target.checked}))},children:"drawSelection"}),(0,wn.jsx)(Pm,{checked:!1!==Y.dropCursor,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{dropCursor:e.target.checked}))},children:"dropCursor"}),(0,wn.jsx)(Pm,{checked:!1!==Y.allowMultipleSelections,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{allowMultipleSelections:e.target.checked}))},children:"allowMultipleSelections"}),(0,wn.jsx)(Pm,{checked:!1!==Y.indentOnInput,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{indentOnInput:e.target.checked}))},children:"indentOnInput"}),(0,wn.jsx)(Pm,{checked:!1!==Y.syntaxHighlighting,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{syntaxHighlighting:e.target.checked}))},children:"syntaxHighlighting"}),(0,wn.jsx)(Pm,{checked:!1!==Y.bracketMatching,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{bracketMatching:e.target.checked}))},children:"bracketMatching"}),(0,wn.jsx)(Pm,{checked:!1!==Y.closeBrackets,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{closeBrackets:e.target.checked}))},children:"closeBrackets"}),(0,wn.jsx)(Pm,{checked:!1!==Y.autocompletion,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{autocompletion:e.target.checked}))},children:"autocompletion"}),(0,wn.jsx)(Pm,{checked:!1!==Y.rectangularSelection,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{rectangularSelection:e.target.checked}))},children:"rectangularSelection"}),(0,wn.jsx)(Pm,{checked:!1!==Y.crosshairCursor,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{crosshairCursor:e.target.checked}))},children:"crosshairCursor"}),(0,wn.jsx)(Pm,{checked:!1!==Y.highlightActiveLine,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{highlightActiveLine:e.target.checked}))},children:"highlightActiveLine"}),(0,wn.jsx)(Pm,{checked:!1!==Y.highlightSelectionMatches,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{highlightSelectionMatches:e.target.checked}))},children:"highlightSelectionMatches"}),(0,wn.jsx)(Pm,{checked:!1!==Y.closeBracketsKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{closeBracketsKeymap:e.target.checked}))},children:"closeBracketsKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.defaultKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{defaultKeymap:e.target.checked}))},children:"defaultKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.searchKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{searchKeymap:e.target.checked}))},children:"searchKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.historyKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{historyKeymap:e.target.checked}))},children:"historyKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.foldKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{foldKeymap:e.target.checked}))},children:"foldKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.completionKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{completionKeymap:e.target.checked}))},children:"completionKeymap"}),(0,wn.jsx)(Pm,{checked:!1!==Y.lintKeymap,onChange:function(e){return A((0,er.Z)((0,er.Z)({},Y),{},{lintKeymap:e.target.checked}))},children:"lintKeymap"})]}),(0,wn.jsx)(Ql,{source:Yl})]})]})}var Rm,Zm,Em,Um,Wm=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r {\n const [value, setValue] = useState(0);\n\n return {value};\n};",height:"165px",theme:Dh[e],extensions:[zl,Fd.jsx()]})]})},t)}))})})]})}var Mm,Jm='# Custom Codemirror Themes\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes)\n\nThemes for CodeMirror.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes --save\n```\n\n## Usage\n\n```js\nimport { EditorView } from \'@codemirror/view\';\nimport { EditorState } from \'@codemirror/state\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nconst state = EditorState.create({\n doc: \'my source code\',\n extensions: [myTheme, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector(\'#editor\'),\n state,\n});\n```\n\n```jsx\nimport CodeMirror from \'@uiw/react-codemirror\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nfunction App() {\n return (\n {\n console.log(\'value:\', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n## Themes\n\n**abcdef**\n\n\n codemirror-theme-abcdef\n\n\n**android studio**\n\n\n codemirror-theme-androidstudio\n\n\n**atom one**\n\n\n codemirror-theme-androidstudio\n\n\n**aura**\n\n\n codemirror-theme-aura\n\n\n**bbedit**\n\n\n codemirror-theme-bbedit\n\n\n**bespin**\n\n\n codemirror-theme-bespin\n\n\n**darcula**\n\n\n codemirror-theme-darcula\n\n\n**dracula**\n\n\n codemirror-theme-dracula\n\n\n**duotone**\n\n\n codemirror-theme-duotone dark\n\n\n\n codemirror-theme-duotone light\n\n\n**eclipse**\n\n\n codemirror-theme-eclipse\n\n\n**github**\n\n\n codemirror-theme-github dark\n\n\n\n codemirror-theme-github light\n\n\n**gruvbox**\n\n\n codemirror-theme-gruvbox-dark\n\n\n\n codemirror-theme-eclipse\n\n\n**material**\n\n\n codemirror-theme-material\n\n\n\n codemirror-theme-material\n\n\n**noctis-lilac**\n\n\n codemirror-theme-noctis-lilac\n\n\n**nord**\n\n\n codemirror-theme-nord\n\n\n**okaidia**\n\n\n codemirror-theme-okaidia\n\n\n**solarized**\n\n\n codemirror-theme-solarized\n\n\n\n codemirror-theme-solarized\n\n\n**sublime**\n\n\n codemirror-theme-sublime\n\n\n**tokyo-night**\n\n\n codemirror-theme-tokyo-night\n\n\n**tokyo-night-day**\n\n\n codemirror-theme-tokyo-night-day\n\n\n**tokyo-night-storm**\n\n\n codemirror-theme-tokyo-night-storm\n\n\n**vscode**\n\n\n codemirror-theme-vscode dark\n\n\n**xcode**\n\n\n codemirror-theme-xcode dark\n\n\n\n codemirror-theme-xcode light\n\n\n## Props\n\n```ts\nimport { Extension } from \'@codemirror/state\';\nimport { TagStyle } from \'@codemirror/language\';\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /**\n * Syntax highlighting styles.\n */\n styles: TagStyle[];\n}\ndeclare type Theme = \'light\' | \'dark\';\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret?: string;\n /** Selection background. */\n selection?: string;\n /** Selection match background. */\n selectionMatch?: string;\n /** Background of highlighted lines. */\n lineHighlight?: string;\n /** Gutter background. */\n gutterBackground?: string;\n /** Text color inside gutter. */\n gutterForeground?: string;\n /** Text active color inside gutter. */\n gutterActiveForeground?: string;\n /** Gutter right border color. */\n gutterBorder?: string;\n /** set editor font */\n fontFamily?: string;\n}\ndeclare const createTheme: ({ dark, settings, styles }: CreateThemeOptions) => Extension;\nexport default createTheme;\n```\n\n### Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n',Bm=function(){return(0,wn.jsxs)(s.Fragment,{children:[(0,wn.jsx)(Ql,{source:Jm,style:{width:980,margin:"0 auto",padding:"50px 20px 150px 20px"}}),(0,wn.jsx)(Hn,{children:"Top"})]})},Hm=["name"],Km=function(){var e=ge(),t=e.name,n=((void 0===t?"":t)+"/"+(Jd(e,Hm)["*"]||"")).split("/").filter(Boolean).map((function(e){return(null===e||void 0===e?void 0:e.slice(0,1).toUpperCase())+(null===e||void 0===e?void 0:e.slice(1).toLowerCase())})),r=Dh[Mh(n.join(" "))];return(0,wn.jsxs)(s.Fragment,{children:[(0,wn.jsx)(Df,{}),(0,wn.jsx)(ef,{themeName:n.join(" "),children:(0,wn.jsx)(qf,{theme:r})})]})};function eQ(e){var t=e.type,n=void 0===t?"scroll":t,r=e.events;return gl.lg.fromClass(function(){function e(t){var O=this;(0,u.Z)(this,e),this.dom=void 0,this.view=void 0,this.view=t,this.dom="dom"===n?t.dom:"content"===n?t.contentDOM:t.scrollDOM,Object.keys(r||{}).forEach((function(e){r&&r[e]&&O.dom&&O.dom.addEventListener(e,r[e])}))}return(0,p.Z)(e,[{key:"destroy",value:function(){var e=this;Object.keys(r||{}).forEach((function(t){r&&r[t]&&e.dom&&e.dom.removeEventListener(t,r[t])}))}}]),e}())}function tQ(e){return eQ({type:"content",events:e})}var nQ=yn.div(Mm||(Mm=i(["\n padding-bottom: 30px;\n"]))),rQ=function(){var e,t=(0,s.useState)(0),n=(0,a.Z)(t,2),r=n[0],O=n[1],i=(0,s.useState)(""),o=(0,a.Z)(i,2),c=o[0],l=o[1],u=document.documentElement.getAttribute("data-color-mode"),p=(0,s.useState)("dark"===u?"dark":"light"),d=(0,a.Z)(p,2),h=d[0],f=d[1];return(0,s.useEffect)((function(){f("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){f(e.detail.colorScheme)}))}),[]),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:am,theme:h,height:"200px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),(e={scroll:function(e){e.target instanceof HTMLElement&&O(e.target.scrollTop)}},eQ({type:"scroll",events:e})),tQ({focus:function(e){l("focus")},blur:function(e){l("blur")}})]}),(0,wn.jsxs)(nQ,{children:[r," ",c]}),(0,wn.jsx)(Ql,{source:am})]})};var OQ,iQ=[(0,gl.Eu)({formatNumber:function(e,t){if(e>t.doc.lines)return"0";var n=t.doc.lineAt(t.selection.asSingle().ranges[0].to).number;return e===n?"0":Math.abs(n-e).toString()}})],oQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:cm,theme:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),iQ]}),(0,wn.jsx)(Ql,{source:cm})]})},aQ=yn.div(OQ||(OQ=i(["\n padding-bottom: 32px;\n"]))),sQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),r=(0,a.Z)(t,2),O=r[0],i=r[1];(0,s.useEffect)((function(){i("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){i(e.detail.colorScheme)}))}),[]);var o,c=(0,s.useState)("markdown"),l=(0,a.Z)(c,2),u=l[0],p=l[1],d=(0,s.useState)(lm),h=(0,a.Z)(d,2),f=h[0],m=h[1];return(0,s.useEffect)((function(){u&&n(620)("./sample.".concat(u.toLocaleLowerCase(),".txt")).then((function(e){m(e.default)})).catch((function(e){m("")}))}),[u]),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:f,theme:O,height:"300px",style:{margin:"0 0 23px 0"},extensions:[(o=u,Fd[o]?Fd[o]():null)].filter(Boolean)}),(0,wn.jsxs)(aQ,{children:[(0,wn.jsxs)("select",{value:u,onChange:function(e){return p(e.target.value)},children:[(0,wn.jsx)("option",{value:"good",children:"good"}),Ld.sort().map((function(e,t){return(0,wn.jsx)("option",{value:e,children:e},t)}))]}),(0,wn.jsxs)("span",{children:["\xa0 Total: ",Ld.length]})]}),(0,wn.jsx)(Ql,{source:lm})]})},cQ=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this)).state=void 0,r.state=e,r}return(0,p.Z)(n,[{key:"eq",value:function(e){return this.state.url===e.state.url&&this.state.to===e.state.to&&this.state.from===e.state.from}},{key:"toDOM",value:function(){var e=document.createElement("a");return e.href=this.state.url,e.target="__blank",e.innerHTML='',e.className="cm-hyper-link-icon",e}},{key:"ignoreEvent",value:function(){return!1}}]),n}(gl.l9);function lQ(e){var t,n=[],r=(0,$l.Z)(e.visibleRanges);try{for(r.s();!(t=r.n()).done;){var O=t.value;(0,Pl.qz)(e.state).iterate({from:O.from,to:O.to,enter:function(t){var r=t.type,O=t.from,i=t.to,o=e.state.doc.sliceString(O,i);if("URL"===r.name){var a=gl.p.widget({widget:new cQ({from:O,to:i,url:o}),side:1});n.push(a.range(i))}}})}}catch(i){r.e(i)}finally{r.f()}return gl.p.set(n)}var uQ=gl.tk.baseTheme({".cm-hyper-link-icon":{display:"inline-block",verticalAlign:"middle",marginLeft:"0.2ch"},".cm-hyper-link-icon svg":{display:"block"}}),pQ=[gl.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=lQ(t)}return(0,p.Z)(e,[{key:"update",value:function(e){(e.docChanged||e.viewportChanged)&&(this.decorations=lQ(e.view))}}]),e}(),{decorations:function(e){return e.decorations}}),uQ],dQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:'Hyper Link\n====\n\n- https://www.npmjs.com/package/@uiw/react-codemirror this url\n\n[url 1](https://www.npmjs.com)\n[url 2](https://www.npmjs.com/package/@uiw/react-codemirror)\n\n```js\nconst str = "https://www.npmjs.com/package/@uiw/react-codemirror"\n```\n',theme:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),pQ]}),(0,wn.jsx)(Ql,{source:pm})]})},hQ=function(){var e=(0,s.useState)("readOnly"),t=(0,a.Z)(e,2),n=t[0],r=t[1],O=(0,s.useState)(!1),i=(0,a.Z)(O,2),o=i[0],c=i[1],l=document.documentElement.getAttribute("data-color-mode"),u=(0,s.useState)("dark"===l?"dark":"light"),p=(0,a.Z)(u,2),d=p[0],h=p[1];(0,s.useEffect)((function(){h("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){h(e.detail.colorScheme)}))}),[]);var f={};return"editable"===n&&(f.editable=o),"readOnly"===n&&(f.readOnly=o),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,(0,er.Z)((0,er.Z)({value:"body {\n color: red;\n background-color: #333;\n}\n.header { color: purple; }\n.header { color: #ff4646; }\n.header { color: #167; }\n.header { color: rgb(0 133 160); }\n.header { color: rgb(0, 133, 160); }\n.header { color: rgba(0, 133, 160); }\n.header { color: rgba(0, 133, 160, .775); }\n.header { color: rgb(0 107 128 / 60%); }\n.header { color: hsl(190deg 100% 36% / 53%); }\n.good { color: hsl(240, 100% 50%); }\n.good { color: hsl(240, 100%, 50%); }\n.good { color: hsl(240, 100%, 50%, 0.1); }\n.good { color: hsl(240, 100%, 50%, 10%); }\n.good { color: hsl(240,100%,50%,0.1); }\n.good { color: hsl(180deg, 100%, 50%, 0.1); }\n.good { color: hsl(3.14rad, 100%, 50%, 0.1); }\n.good { color: hsl(200grad, 100%, 50%, 0.1); }\n.good { color: hsl(0.5turn, 100%, 50%, 0.1); }\n.good { color: hsl(-240, -100%, -50%, -0.1); }\n.good { color: hsl(+240, +100%, +50%, +0.1); }\n.good { color: hsl(240.5, 99.99%, 49.999%, 0.9999); }\n.good { color: hsl(.9, .99%, .999%, .9999); }\n.good { color: hsl(0240, 0100%, 0050%, 01); }\n.good { color: hsl(240.0, 100.00%, 50.000%, 1.0000); }\n.good { color: hsl(2400, 1000%, 1000%, 10); }\n.good { color: hsl(-2400.01deg, -1000.5%, -1000.05%, -100); }\n.good { color: hsl(2.40e+2, 1.00e+2%, 5.00e+1%, 1E-3); }\n.good { color: hsl(240 100% 50%); }\n.good { color: hsl(240 100% 50% / 0.1); }\n.good { color: hsla(240, 100%, 50%); }\n.good { color: hsla(240, 100%, 50%, 0.1); }\n.good { color: HSL(240Deg, 100%, 50%); }",theme:d,height:"400px"},f),{},{style:{margin:"0 0 23px 0"},extensions:[Fd.css(),zl]})),(0,wn.jsxs)("div",{style:{marginBottom:23},children:[(0,wn.jsxs)("button",{type:"button",onClick:function(){return c(!o)},children:["\u7f16\u8f91\u5668 & ",String(o)]}),(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"radio",name:"mode",checked:"readOnly"===n,value:"readOnly",onChange:function(e){var t=e.target;return r(t.value)}})," ","readOnly"]}),(0,wn.jsxs)("label",{children:[(0,wn.jsx)("input",{type:"radio",name:"mode",checked:"editable"===n,value:"editable",onChange:function(e){var t=e.target;return r(t.value)}})," ","editable"]})]}),(0,wn.jsx)(Ql,{source:sm})]})},fQ=n(2027);function mQ(e){return void 0===e&&(e=[]),(0,fQ.ys)({override:[function(t){var n=t.matchBefore(/@(\w+)?/);return n?n&&n.from==n.to&&!t.explicit?null:{from:null==n?void 0:n.from,options:(0,l.Z)(e)}:null}]})}mQ();var QQ,$Q=[{label:"@Walter White"},{label:"@\u76ae\u76ae\u9c81"},{label:"@\u9c81\u897f\u897f"},{label:"@\u4e2d\u672c\u806a"},{label:"@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8"},{label:"@\u91ce\u6bd4\u306e\u3073\u592a"},{label:"@\uc131\ub355\uc120"},{label:"@Jesse Pinkman"},{label:'@Gustavo "Gus" Fring'},{label:"@Saul Goodman"},{label:"@Hank Schrader"},{label:"@Skyler White"},{label:"@Mike Ehrmantraut"},{label:"@Lyd\xec\xe3 R\xf4dart\xe9-Q\xfcayle"}],gQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]),(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:dm,theme:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),mQ($Q)]}),(0,wn.jsx)(Ql,{source:dm})]})},PQ=yn.div(QQ||(QQ=i(["\n padding: 0 0 23px 0;\n"]))),vQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t={};Object.keys(O).filter((function(e){return"function"!==typeof O[e]})).forEach((function(e){t[e]=O[e]}));var n=(0,s.useState)(),r=(0,a.Z)(n,2),i=r[0],o=r[1],c=(0,s.useState)("dark"===e?"dark":"light"),l=(0,a.Z)(c,2),u=l[0],p=l[1];(0,s.useEffect)((function(){p("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){p(e.detail.colorScheme)}))}),[]);var d=t[i]?t[i]:u;return(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:um,theme:d,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown()]}),(0,wn.jsxs)(PQ,{children:["Select Theme:",(0,wn.jsxs)("select",{value:i,onChange:function(e){o(e.target.value)},children:[(0,wn.jsx)("option",{children:"Select Theme"}),Object.keys(t).map((function(e,t){return(0,wn.jsx)("option",{children:e},t)}))]})]}),(0,wn.jsx)(Ql,{source:um})]})},yQ=n(7989),bQ=yQ.r$.define({combine:function(e){return e.length&&Array.isArray(e)?e.flat():[]}}),SQ=yQ.r$.define({combine:function(e){return e.length&&Array.isArray(e)?Math.min.apply(Math,(0,l.Z)(e)):2}}),TQ=gl.p.line({attributes:{class:"cm-zebra-stripe"}});function xQ(e){var t,n=e.state.facet(SQ),r=e.state.facet(bQ),O=new yQ.f_,i=(0,$l.Z)(e.visibleRanges);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=o.from,s=o.to,c=a;c<=s;){var l=e.state.doc.lineAt(c);l.number%n===0&&0===r.length&&O.add(l.from,l.from,TQ),r.length>0&&r.flat().includes(l.number)&&O.add(l.from,l.from,TQ),c=l.to+1}}catch(u){i.e(u)}finally{i.f()}return O.finish()}var wQ=gl.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=xQ(t)}return(0,p.Z)(e,[{key:"update",value:function(e){this.decorations=xQ(e.view)}}]),e}(),{decorations:function(e){return e.decorations}});function XQ(e){void 0===e&&(e={});var t,n=(void 0===(t={lightColor:e.lightColor,darkColor:e.darkColor})&&(t={}),gl.tk.baseTheme({"&light .cm-zebra-stripe":{backgroundColor:t.lightColor||"#eef6ff"},"&dark .cm-zebra-stripe":{backgroundColor:t.darkColor||"#3a404d"}}));return e.lineNumber&&Array.isArray(e.lineNumber)?(e.step=null,e.lineNumber=e.lineNumber.map((function(e){return Array.isArray(e)&&"number"===typeof e[0]&&"number"===typeof e[1]?(t=e[0],n=e[1],r=1,Array.from({length:(n-t)/r+1},(function(e,n){return t+n*r}))):e;var t,n,r}))):e.lineNumber=null,[null===e.lineNumber?[]:bQ.of(e.lineNumber||[]),null===e.step?[]:SQ.of(e.step||2),wQ,n]}var kQ,_Q,RQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]),(0,wn.jsx)(Al.default,{value:hm,theme:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),XQ({lineNumber:[1,[3,6],10],lightColor:"#aca2ff33",darkColor:"#aca2ff40"})]})},ZQ=yn.div(kQ||(kQ=i(["\n padding-bottom: 24px;\n display: flex;\n gap: 18px;\n"]))),EQ=function(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]);var i=(0,s.useState)(2),o=(0,a.Z)(i,2),c=o[0],l=o[1],u=XQ({step:c});return(0,wn.jsxs)(mm,{children:[(0,wn.jsx)(Al.default,{value:hm,theme:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[Fd.markdown(),u]}),(0,wn.jsx)(ZQ,{children:(0,wn.jsxs)("select",{value:c,onChange:function(e){return l(Number(e.target.value))},children:[(0,wn.jsx)("option",{value:1,children:"1"}),(0,wn.jsx)("option",{value:2,children:"2"}),(0,wn.jsx)("option",{value:3,children:"3"}),(0,wn.jsx)("option",{value:4,children:"4"}),(0,wn.jsx)("option",{value:5,children:"5"}),(0,wn.jsx)("option",{value:6,children:"6"})]})}),(0,wn.jsx)(RQ,{}),(0,wn.jsx)(Ql,{source:hm})]})},UQ=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&document.getSelection().getRangeAt(0);n.select();var O=!1;try{O=!!document.execCommand("copy")}catch(i){O=!1}document.body.removeChild(n),r&&document.getSelection&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(r)),t&&t(O)}return e}()},390:function(e,t,n){var r=n(8983).default,O=n(2081).default,i=n(7266).default,o=n(8724).default,a=n(670).default,s=n(9952).default,c=n(3231).default,l=document,u="_dark_mode_theme_",p="permanent",d="colorschemechange",h="light",f="dark",m=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get:function(){var e=this.getAttribute(t);return null===e?"":e},set:function(e){this.setAttribute(t,e)}})},Q=function(e){"use strict";o(n,e);var t=a(n);function n(){var e;return r(this,n),e=t.call(this),c(i(e),"LOCAL_NANE",u),e.t(),e}return O(n,[{key:"connectedCallback",value:function(){var e=this;m(this,"mode"),m(this,f),m(this,h),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get:function(){return this.hasAttribute(t)},set:function(e){e?this.setAttribute(t,""):this.removeAttribute(t)}})}(this,p);var t=localStorage.getItem(u);t&&[h,f].includes(t)&&(this.mode=t,this.permanent=!0),this.permanent&&!t&&localStorage.setItem(u,this.mode);var n=[h,f].includes(t);this.permanent&&t?this.o():(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(this.mode=f,this.o()),window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches&&(this.mode=h,this.o())),this.permanent||n||(window.matchMedia("(prefers-color-scheme: light)").onchange=function(t){e.mode=t.matches?h:f,e.o()},window.matchMedia("(prefers-color-scheme: dark)").onchange=function(t){e.mode=t.matches?f:h,e.o()}),new MutationObserver((function(t,r){e.mode=l.documentElement.dataset.colorMode,e.permanent&&n&&(localStorage.setItem(u,e.mode),e.i("permanentcolorscheme",{permanent:e.permanent})),e.h(),e.i(d,{colorScheme:e.mode})})).observe(l.documentElement,{attributes:!0}),this.i(d,{colorScheme:this.mode}),this.h()}},{key:"attributeChangedCallback",value:function(e,t,n){if("mode"===e&&t!==n&&[h,f].includes(n)){var r=localStorage.getItem(u);this.mode===r?(this.mode=n,this.h(),this.o()):this.mode&&this.mode!==r&&(this.h(),this.o())}else e!==h&&e!==f||t===n||this.h();"permanent"===e&&"boolean"===typeof this.permanent&&(this.permanent?localStorage.setItem(u,this.mode):localStorage.removeItem(u))}},{key:"o",value:function(){l.documentElement.setAttribute("data-color-mode",this.mode)}},{key:"h",value:function(){this.icon.textContent=this.mode===h?"\ud83c\udf12":"\ud83c\udf1e",this.text.textContent=this.mode===h?this.getAttribute(f):this.getAttribute(h),!this.text.textContent&&this.text.parentElement&&this.text&&this.text.parentElement.removeChild(this.text)}},{key:"t",value:function(){var e=this,t=this.attachShadow({mode:"open"});this.label=l.createElement("span"),this.label.setAttribute("class","wrapper"),this.label.onclick=function(){e.mode=e.mode===h?f:h,e.permanent&&localStorage.setItem(u,e.mode),e.o(),e.h()},t.appendChild(this.label),this.icon=l.createElement("span"),this.label.appendChild(this.icon),this.text=l.createElement("span"),this.label.appendChild(this.text);var n="_dark_mode_style_";if(!l.getElementById(n)){var r=l.createElement("style");r.id=n,r.textContent="\n[data-color-mode*='dark'], [data-color-mode*='dark'] body {\n color-scheme: dark;\n --color-theme-bg: #0d1117;\n --color-theme-text: #c9d1d9;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}\n\n[data-color-mode*='light'], [data-color-mode*='light'] body {\n color-scheme: light;\n --color-theme-bg: #fff;\n --color-theme-text: #24292f;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}",l.head.appendChild(r)}var O=l.createElement("style");O.textContent="\n .wrapper { cursor: pointer; user-select: none; position: relative; }\n .wrapper > span + span { margin-left: .4rem; }\n ",t.appendChild(O)}},{key:"i",value:function(e,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t}))}}],[{key:"observedAttributes",get:function(){return["mode",h,f,p]}}]),n}(s(HTMLElement));customElements.define("dark-mode",Q)},1692:function(e){e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},861:function(e,t,n){"use strict";var r=n(7167),O=n(2174),i=function(){function e(){this.pseudos={},this.attrEqualityMods={},this.ruleNestingOperators={},this.substitutesEnabled=!1}return e.prototype.registerSelectorPseudos=function(){for(var e=[],t=0;t=a)throw Error("Expected symbol but end of file reached.");if(s=e.charAt(t),r.identSpecialChars[s])n+=s;else{if(r.isHex(s)){var O=s;for(t++,s=e.charAt(t);r.isHex(s);)O+=s,t++,s=e.charAt(t);" "===s&&(t++,s=e.charAt(t)),n+=String.fromCharCode(parseInt(O,16));continue}n+=s}}t++,s=e.charAt(t)}return n}function u(){s=e.charAt(t);for(var n=!1;" "===s||"\t"===s||"\n"===s||"\r"===s||"\f"===s;)n=!0,t++,s=e.charAt(t);return n}function p(){var n=d();if(!n)return null;var r=n;for(s=e.charAt(t);","===s;){if(t++,u(),"selectors"!==r.type&&(r={type:"selectors",selectors:[n]}),!(n=d()))throw Error('Rule expected after ",".');r.selectors.push(n)}return r}function d(){u();var n={type:"ruleSet"},r=h();if(!r)return null;for(var O=n;r&&(r.type="rule",O.rule=r,O=r,u(),s=e.charAt(t),!(t>=a||","===s||")"===s));)if(i[s]){var o=s;if(t++,u(),!(r=h()))throw Error('Rule expected after "'+o+'".');r.nestingOperator=o}else(r=h())&&(r.nestingOperator=null);return n}function h(){for(var i=null;t=a)throw Error('Expected "=" but end of file reached.');if("="!==s)throw Error('Expected "=" but "'+s+'" found.');d.operator=h+"=",t++,u();var f="";if(d.valueType="string",'"'===s)f=c('"',r.doubleQuotesEscapeChars);else if("'"===s)f=c("'",r.singleQuoteEscapeChars);else if(o&&"$"===s)t++,f=l(),d.valueType="substitute";else{for(;t=a)throw Error('Expected "]" but end of file reached.');if("]"!==s)throw Error('Expected "]" but "'+s+'" found.');t++,d.value=f}((i=i||{}).attrs=i.attrs||[]).push(d)}else{if(":"!==s)break;t++;var m=l(),Q={name:m};if("("===s){t++;var $="";if(u(),"selector"===n[m])Q.valueType="selector",$=p();else{if(Q.valueType=n[m]||"string",'"'===s)$=c('"',r.doubleQuotesEscapeChars);else if("'"===s)$=c("'",r.singleQuoteEscapeChars);else if(o&&"$"===s)t++,$=l(),Q.valueType="substitute";else{for(;t=a)throw Error('Expected ")" but end of file reached.');if(")"!==s)throw Error('Expected ")" but "'+s+'" found.');t++,Q.value=$}((i=i||{}).pseudos=i.pseudos||[]).push(Q)}return i}return function(){var n=p();if(t="a"&&e<="z"||e>="A"&&e<="Z"||"-"===e||"_"===e},t.isIdent=function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"-"===e||"_"===e},t.isHex=function(e){return e>="a"&&e<="f"||e>="A"&&e<="F"||e>="0"&&e<="9"},t.escapeIdentifier=function(e){for(var n=e.length,r="",O=0;O="A"&&i<="Z"||i>="a"&&i<="z"||0!==O&&i>="0"&&i<="9")r+=i;else{var o=i.charCodeAt(0);if(55296===(63488&o)){var a=e.charCodeAt(O++);if(55296!==(64512&o)||56320!==(64512&a))throw Error("UCS-2(decode): illegal sequence");o=((1023&o)<<10)+(1023&a)+65536}r+="\\"+o.toString(16)+" "}O++}return r},t.escapeStr=function(e){for(var n,r=e.length,O="",i=0;i":!0,"?":!0,"@":!0,"[":!0,"\\":!0,"]":!0,"^":!0,"`":!0,"{":!0,"|":!0,"}":!0,"~":!0},t.strReplacementsRev={"\n":"\\n","\r":"\\r","\t":"\\t","\f":"\\f","\v":"\\v"},t.singleQuoteEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\","'":"'"},t.doubleQuotesEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\",'"':'"'}},5134:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,O=Object.getOwnPropertyDescriptor,i=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,O=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!O&&!i)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},a=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(O)return O(e,n).value}return e[n]};e.exports=function e(){var t,n,r,O,c,l,u=arguments[0],p=1,d=arguments.length,h=!1;for("boolean"===typeof u&&(h=u,u=arguments[1]||{},p=2),(null==u||"object"!==typeof u&&"function"!==typeof u)&&(u={});p-1)return r.QUIRKS;var l=null===t?o:i;if(u(n,l))return r.QUIRKS;if(u(n,l=null===t?s:c))return r.LIMITED_QUIRKS}return r.NO_QUIRKS},t.serializeContent=function(e,t,n){var r="!DOCTYPE ";return e&&(r+=e),t?r+=" PUBLIC "+l(t):n&&(r+=" SYSTEM"),null!==n&&(r+=" "+l(n)),r}},1965:function(e){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},5845:function(e,t,n){"use strict";var r,O=n(3231).default,i=n(7669),o=n(3359),a=o.TAG_NAMES,s=o.NAMESPACES,c=o.ATTRS,l="text/html",u="application/xhtml+xml",p={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},d={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:s.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:s.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:s.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:s.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:s.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:s.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:s.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:s.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:s.XML},"xml:space":{prefix:"xml",name:"space",namespace:s.XML},xmlns:{prefix:"",name:"xmlns",namespace:s.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:s.XMLNS}},h=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},f=(O(r={},a.B,!0),O(r,a.BIG,!0),O(r,a.BLOCKQUOTE,!0),O(r,a.BODY,!0),O(r,a.BR,!0),O(r,a.CENTER,!0),O(r,a.CODE,!0),O(r,a.DD,!0),O(r,a.DIV,!0),O(r,a.DL,!0),O(r,a.DT,!0),O(r,a.EM,!0),O(r,a.EMBED,!0),O(r,a.H1,!0),O(r,a.H2,!0),O(r,a.H3,!0),O(r,a.H4,!0),O(r,a.H5,!0),O(r,a.H6,!0),O(r,a.HEAD,!0),O(r,a.HR,!0),O(r,a.I,!0),O(r,a.IMG,!0),O(r,a.LI,!0),O(r,a.LISTING,!0),O(r,a.MENU,!0),O(r,a.META,!0),O(r,a.NOBR,!0),O(r,a.OL,!0),O(r,a.P,!0),O(r,a.PRE,!0),O(r,a.RUBY,!0),O(r,a.S,!0),O(r,a.SMALL,!0),O(r,a.SPAN,!0),O(r,a.STRONG,!0),O(r,a.STRIKE,!0),O(r,a.SUB,!0),O(r,a.SUP,!0),O(r,a.TABLE,!0),O(r,a.TT,!0),O(r,a.U,!0),O(r,a.UL,!0),O(r,a.VAR,!0),r);t.causesExit=function(e){var t=e.tagName;return!!(t===a.FONT&&(null!==i.getTokenAttr(e,c.COLOR)||null!==i.getTokenAttr(e,c.SIZE)||null!==i.getTokenAttr(e,c.FACE)))||f[t]},t.adjustTokenMathMLAttrs=function(e){for(var t=0;t=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},9221:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e)).posTracker=null,i.onParseError=O.onParseError,i}return O(n,[{key:"_setErrorLocation",value:function(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}},{key:"_reportError",value:function(e){var t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}},{key:"_getOverriddenMethods",value:function(e){return{_err:function(t){e._reportError(t)}}}}]),n}(n(3731));e.exports=a},1338:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=n(9221),s=n(5602),c=n(2020),l=n(3731),u=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e,O)).opts=O,i.ctLoc=null,i.locBeforeToken=!1,i}return O(n,[{key:"_setErrorLocation",value:function(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),l.install(this.tokenizer,s,e.opts),l.install(this.tokenizer,c)},_processInputToken:function(n){e.ctLoc=n.location,t._processInputToken.call(this,n)},_err:function(t,n){e.locBeforeToken=n&&n.beforeToken,e._reportError(t)}}}}]),n}(a);e.exports=u},369:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(1121).default,o=n(4910).default,a=n(8724).default,s=n(670).default,c=n(9221),l=n(7525),u=n(3731),p=function(e){a(n,e);var t=s(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e,O)).posTracker=u.install(e,l),i.lastErrOffset=-1,i}return O(n,[{key:"_reportError",value:function(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,i(o(n.prototype),"_reportError",this).call(this,e))}}]),n}(c);e.exports=p},5602:function(e,t,n){"use strict";var r=n(2081).default,O=n(8983).default,i=n(8724).default,o=n(670).default,a=n(9221),s=n(369),c=n(3731),l=function(e){i(n,e);var t=o(n);function n(e,r){var i;O(this,n),i=t.call(this,e,r);var o=c.install(e.preprocessor,s,r);return i.posTracker=o.posTracker,i}return r(n)}(a);e.exports=l},8618:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e)).onItemPop=O.onItemPop,i}return O(n,[{key:"_getOverriddenMethods",value:function(e,t){return{pop:function(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement:function(){for(var n=this.stackTop;n>0;n--)e.onItemPop(this.items[n]);t.popAllUpToHtmlElement.call(this)},remove:function(n){e.onItemPop(this.current),t.remove.call(this,n)}}}}]),n}(n(3731));e.exports=a},3720:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=n(3731),s=n(7669),c=n(2020),l=n(8618),u=n(3359).TAG_NAMES,p=function(e){i(n,e);var t=o(n);function n(e){var O;return r(this,n),(O=t.call(this,e)).parser=e,O.treeAdapter=O.parser.treeAdapter,O.posTracker=null,O.lastStartTagToken=null,O.lastFosterParentingLocation=null,O.currentToken=null,O}return O(n,[{key:"_setStartLocation",value:function(e){var t=null;this.lastStartTagToken&&((t=Object.assign({},this.lastStartTagToken.location)).startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}},{key:"_setEndLocation",value:function(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){var n=t.location,r=this.treeAdapter.getTagName(e),O={};t.type===s.END_TAG_TOKEN&&r===t.tagName?(O.endTag=Object.assign({},n),O.endLine=n.endLine,O.endCol=n.endCol,O.endOffset=n.endOffset):(O.endLine=n.startLine,O.endCol=n.startCol,O.endOffset=n.startOffset),this.treeAdapter.updateNodeSourceCodeLocation(e,O)}}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;var O=a.install(this.tokenizer,c);e.posTracker=O.posTracker,a.install(this.openElements,l,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop:function(n){t._runParsingLoop.call(this,n);for(var r=this.openElements.stackTop;r>=0;r--)e._setEndLocation(this.openElements.items[r],e.currentToken)},_processTokenInForeignContent:function(n){e.currentToken=n,t._processTokenInForeignContent.call(this,n)},_processToken:function(n){if(e.currentToken=n,t._processToken.call(this,n),n.type===s.END_TAG_TOKEN&&(n.tagName===u.HTML||n.tagName===u.BODY&&this.openElements.hasInScope(u.BODY)))for(var r=this.openElements.stackTop;r>=0;r--){var O=this.openElements.items[r];if(this.treeAdapter.getTagName(O)===n.tagName){e._setEndLocation(O,n);break}}},_setDocumentType:function(e){t._setDocumentType.call(this,e);for(var n=this.treeAdapter.getChildNodes(this.document),r=n.length,O=0;O=3)for(var r=this.treeAdapter.getAttrList(t).length,O=this.treeAdapter.getTagName(t),i=this.treeAdapter.getNamespaceURI(t),o=this.length-1;o>=0;o--){var a=this.entries[o];if(a.type===e.MARKER_ENTRY)break;var s=a.element,c=this.treeAdapter.getAttrList(s);this.treeAdapter.getTagName(s)===O&&this.treeAdapter.getNamespaceURI(s)===i&&c.length===r&&n.push({idx:o,attrs:c})}return n.length<3?[]:n}},{key:"_ensureNoahArkCondition",value:function(e){var t=this._getNoahArkConditionCandidates(e),n=t.length;if(n){for(var r=this.treeAdapter.getAttrList(e),O=r.length,i=Object.create(null),o=0;o=2;u--)this.entries.splice(t[u].idx,1),this.length--}}},{key:"insertMarker",value:function(){this.entries.push({type:e.MARKER_ENTRY}),this.length++}},{key:"pushElement",value:function(t,n){this._ensureNoahArkCondition(t),this.entries.push({type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"insertElementAfterBookmark",value:function(t,n){for(var r=this.length-1;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"removeEntry",value:function(e){for(var t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}},{key:"clearToLastMarker",value:function(){for(;this.length;){var t=this.entries.pop();if(this.length--,t.type===e.MARKER_ENTRY)break}}},{key:"getElementEntryInScopeWithTagName",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===t)return r}return null}},{key:"getElementEntry",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.ELEMENT_ENTRY&&r.element===t)return r}return null}}]),e}();i.MARKER_ENTRY="MARKER_ENTRY",i.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=i},810:function(e,t,n){"use strict";var r,O,i,o,a,s,c,l,u,p,d,h,f,m,Q,$,g,P,v,y,b,S,T,x,w,X,k=n(8983).default,_=n(2081).default,R=n(3231).default,Z=n(7669),E=n(4690),U=n(3958),W=n(3720),q=n(1338),C=n(3731),z=n(8361),Y=n(9072),A=n(4237),j=n(5845),V=n(1965),I=n(229),N=n(3359),G=N.TAG_NAMES,D=N.NAMESPACES,F=N.ATTRS,L={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:z},M="hidden",J="INITIAL_MODE",B="BEFORE_HTML_MODE",H="BEFORE_HEAD_MODE",K="IN_HEAD_MODE",ee="IN_HEAD_NO_SCRIPT_MODE",te="AFTER_HEAD_MODE",ne="IN_BODY_MODE",re="TEXT_MODE",Oe="IN_TABLE_MODE",ie="IN_TABLE_TEXT_MODE",oe="IN_CAPTION_MODE",ae="IN_COLUMN_GROUP_MODE",se="IN_TABLE_BODY_MODE",ce="IN_ROW_MODE",le="IN_CELL_MODE",ue="IN_SELECT_MODE",pe="IN_SELECT_IN_TABLE_MODE",de="IN_TEMPLATE_MODE",he="AFTER_BODY_MODE",fe="IN_FRAMESET_MODE",me="AFTER_FRAMESET_MODE",Qe="AFTER_AFTER_BODY_MODE",$e="AFTER_AFTER_FRAMESET_MODE",ge=(R(r={},G.TR,ce),R(r,G.TBODY,se),R(r,G.THEAD,se),R(r,G.TFOOT,se),R(r,G.CAPTION,oe),R(r,G.COLGROUP,ae),R(r,G.TABLE,Oe),R(r,G.BODY,ne),R(r,G.FRAMESET,fe),r),Pe=(R(O={},G.CAPTION,Oe),R(O,G.COLGROUP,Oe),R(O,G.TBODY,Oe),R(O,G.TFOOT,Oe),R(O,G.THEAD,Oe),R(O,G.COL,ae),R(O,G.TR,se),R(O,G.TD,ce),R(O,G.TH,ce),O),ve=(R(X={},J,(R(i={},Z.CHARACTER_TOKEN,qe),R(i,Z.NULL_CHARACTER_TOKEN,qe),R(i,Z.WHITESPACE_CHARACTER_TOKEN,_e),R(i,Z.COMMENT_TOKEN,Ze),R(i,Z.DOCTYPE_TOKEN,(function(e,t){e._setDocumentType(t);var n=t.forceQuirks?N.DOCUMENT_MODE.QUIRKS:A.getDocumentMode(t);A.isConforming(t)||e._err(V.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=B})),R(i,Z.START_TAG_TOKEN,qe),R(i,Z.END_TAG_TOKEN,qe),R(i,Z.EOF_TOKEN,qe),i)),R(X,B,(R(o={},Z.CHARACTER_TOKEN,Ce),R(o,Z.NULL_CHARACTER_TOKEN,Ce),R(o,Z.WHITESPACE_CHARACTER_TOKEN,_e),R(o,Z.COMMENT_TOKEN,Ze),R(o,Z.DOCTYPE_TOKEN,_e),R(o,Z.START_TAG_TOKEN,(function(e,t){t.tagName===G.HTML?(e._insertElement(t,D.HTML),e.insertionMode=H):Ce(e,t)})),R(o,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n!==G.HTML&&n!==G.HEAD&&n!==G.BODY&&n!==G.BR||Ce(e,t)})),R(o,Z.EOF_TOKEN,Ce),o)),R(X,H,(R(a={},Z.CHARACTER_TOKEN,ze),R(a,Z.NULL_CHARACTER_TOKEN,ze),R(a,Z.WHITESPACE_CHARACTER_TOKEN,_e),R(a,Z.COMMENT_TOKEN,Ze),R(a,Z.DOCTYPE_TOKEN,Re),R(a,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.HEAD?(e._insertElement(t,D.HTML),e.headElement=e.openElements.current,e.insertionMode=K):ze(e,t)})),R(a,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HEAD||n===G.BODY||n===G.HTML||n===G.BR?ze(e,t):e._err(V.endTagWithoutMatchingOpenElement)})),R(a,Z.EOF_TOKEN,ze),a)),R(X,K,(R(s={},Z.CHARACTER_TOKEN,je),R(s,Z.NULL_CHARACTER_TOKEN,je),R(s,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(s,Z.COMMENT_TOKEN,Ze),R(s,Z.DOCTYPE_TOKEN,Re),R(s,Z.START_TAG_TOKEN,Ye),R(s,Z.END_TAG_TOKEN,Ae),R(s,Z.EOF_TOKEN,je),s)),R(X,ee,(R(c={},Z.CHARACTER_TOKEN,Ve),R(c,Z.NULL_CHARACTER_TOKEN,Ve),R(c,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(c,Z.COMMENT_TOKEN,Ze),R(c,Z.DOCTYPE_TOKEN,Re),R(c,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.BASEFONT||n===G.BGSOUND||n===G.HEAD||n===G.LINK||n===G.META||n===G.NOFRAMES||n===G.STYLE?Ye(e,t):n===G.NOSCRIPT?e._err(V.nestedNoscriptInHead):Ve(e,t)})),R(c,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.NOSCRIPT?(e.openElements.pop(),e.insertionMode=K):n===G.BR?Ve(e,t):e._err(V.endTagWithoutMatchingOpenElement)})),R(c,Z.EOF_TOKEN,Ve),c)),R(X,te,(R(l={},Z.CHARACTER_TOKEN,Ie),R(l,Z.NULL_CHARACTER_TOKEN,Ie),R(l,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(l,Z.COMMENT_TOKEN,Ze),R(l,Z.DOCTYPE_TOKEN,Re),R(l,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.BODY?(e._insertElement(t,D.HTML),e.framesetOk=!1,e.insertionMode=ne):n===G.FRAMESET?(e._insertElement(t,D.HTML),e.insertionMode=fe):n===G.BASE||n===G.BASEFONT||n===G.BGSOUND||n===G.LINK||n===G.META||n===G.NOFRAMES||n===G.SCRIPT||n===G.STYLE||n===G.TEMPLATE||n===G.TITLE?(e._err(V.abandonedHeadElementChild),e.openElements.push(e.headElement),Ye(e,t),e.openElements.remove(e.headElement)):n===G.HEAD?e._err(V.misplacedStartTagForHeadElement):Ie(e,t)})),R(l,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.BODY||n===G.HTML||n===G.BR?Ie(e,t):n===G.TEMPLATE?Ae(e,t):e._err(V.endTagWithoutMatchingOpenElement)})),R(l,Z.EOF_TOKEN,Ie),l)),R(X,ne,(R(u={},Z.CHARACTER_TOKEN,Ge),R(u,Z.NULL_CHARACTER_TOKEN,_e),R(u,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(u,Z.COMMENT_TOKEN,Ze),R(u,Z.DOCTYPE_TOKEN,_e),R(u,Z.START_TAG_TOKEN,nt),R(u,Z.END_TAG_TOKEN,ot),R(u,Z.EOF_TOKEN,at),u)),R(X,re,(R(p={},Z.CHARACTER_TOKEN,Ue),R(p,Z.NULL_CHARACTER_TOKEN,Ue),R(p,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(p,Z.COMMENT_TOKEN,_e),R(p,Z.DOCTYPE_TOKEN,_e),R(p,Z.START_TAG_TOKEN,_e),R(p,Z.END_TAG_TOKEN,(function(e,t){t.tagName===G.SCRIPT&&(e.pendingScript=e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode})),R(p,Z.EOF_TOKEN,(function(e,t){e._err(V.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)})),p)),R(X,Oe,(R(d={},Z.CHARACTER_TOKEN,st),R(d,Z.NULL_CHARACTER_TOKEN,st),R(d,Z.WHITESPACE_CHARACTER_TOKEN,st),R(d,Z.COMMENT_TOKEN,Ze),R(d,Z.DOCTYPE_TOKEN,_e),R(d,Z.START_TAG_TOKEN,ct),R(d,Z.END_TAG_TOKEN,lt),R(d,Z.EOF_TOKEN,at),d)),R(X,ie,(R(h={},Z.CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0})),R(h,Z.NULL_CHARACTER_TOKEN,_e),R(h,Z.WHITESPACE_CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t)})),R(h,Z.COMMENT_TOKEN,pt),R(h,Z.DOCTYPE_TOKEN,pt),R(h,Z.START_TAG_TOKEN,pt),R(h,Z.END_TAG_TOKEN,pt),R(h,Z.EOF_TOKEN,pt),h)),R(X,oe,(R(f={},Z.CHARACTER_TOKEN,Ge),R(f,Z.NULL_CHARACTER_TOKEN,_e),R(f,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(f,Z.COMMENT_TOKEN,Ze),R(f,Z.DOCTYPE_TOKEN,_e),R(f,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.CAPTION||n===G.COL||n===G.COLGROUP||n===G.TBODY||n===G.TD||n===G.TFOOT||n===G.TH||n===G.THEAD||n===G.TR?e.openElements.hasInTableScope(G.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(G.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Oe,e._processToken(t)):nt(e,t)})),R(f,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.CAPTION||n===G.TABLE?e.openElements.hasInTableScope(G.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(G.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Oe,n===G.TABLE&&e._processToken(t)):n!==G.BODY&&n!==G.COL&&n!==G.COLGROUP&&n!==G.HTML&&n!==G.TBODY&&n!==G.TD&&n!==G.TFOOT&&n!==G.TH&&n!==G.THEAD&&n!==G.TR&&ot(e,t)})),R(f,Z.EOF_TOKEN,at),f)),R(X,ae,(R(m={},Z.CHARACTER_TOKEN,dt),R(m,Z.NULL_CHARACTER_TOKEN,dt),R(m,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(m,Z.COMMENT_TOKEN,Ze),R(m,Z.DOCTYPE_TOKEN,_e),R(m,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.COL?(e._appendElement(t,D.HTML),t.ackSelfClosing=!0):n===G.TEMPLATE?Ye(e,t):dt(e,t)})),R(m,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.COLGROUP?e.openElements.currentTagName===G.COLGROUP&&(e.openElements.pop(),e.insertionMode=Oe):n===G.TEMPLATE?Ae(e,t):n!==G.COL&&dt(e,t)})),R(m,Z.EOF_TOKEN,at),m)),R(X,se,(R(Q={},Z.CHARACTER_TOKEN,st),R(Q,Z.NULL_CHARACTER_TOKEN,st),R(Q,Z.WHITESPACE_CHARACTER_TOKEN,st),R(Q,Z.COMMENT_TOKEN,Ze),R(Q,Z.DOCTYPE_TOKEN,_e),R(Q,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,D.HTML),e.insertionMode=ce):n===G.TH||n===G.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(G.TR),e.insertionMode=ce,e._processToken(t)):n===G.CAPTION||n===G.COL||n===G.COLGROUP||n===G.TBODY||n===G.TFOOT||n===G.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=Oe,e._processToken(t)):ct(e,t)})),R(Q,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.TBODY||n===G.TFOOT||n===G.THEAD?e.openElements.hasInTableScope(n)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=Oe):n===G.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=Oe,e._processToken(t)):(n!==G.BODY&&n!==G.CAPTION&&n!==G.COL&&n!==G.COLGROUP||n!==G.HTML&&n!==G.TD&&n!==G.TH&&n!==G.TR)&<(e,t)})),R(Q,Z.EOF_TOKEN,at),Q)),R(X,ce,(R($={},Z.CHARACTER_TOKEN,st),R($,Z.NULL_CHARACTER_TOKEN,st),R($,Z.WHITESPACE_CHARACTER_TOKEN,st),R($,Z.COMMENT_TOKEN,Ze),R($,Z.DOCTYPE_TOKEN,_e),R($,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.TH||n===G.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,D.HTML),e.insertionMode=le,e.activeFormattingElements.insertMarker()):n===G.CAPTION||n===G.COL||n===G.COLGROUP||n===G.TBODY||n===G.TFOOT||n===G.THEAD||n===G.TR?e.openElements.hasInTableScope(G.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):ct(e,t)})),R($,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.TR?e.openElements.hasInTableScope(G.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se):n===G.TABLE?e.openElements.hasInTableScope(G.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):n===G.TBODY||n===G.TFOOT||n===G.THEAD?(e.openElements.hasInTableScope(n)||e.openElements.hasInTableScope(G.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):(n!==G.BODY&&n!==G.CAPTION&&n!==G.COL&&n!==G.COLGROUP||n!==G.HTML&&n!==G.TD&&n!==G.TH)&<(e,t)})),R($,Z.EOF_TOKEN,at),$)),R(X,le,(R(g={},Z.CHARACTER_TOKEN,Ge),R(g,Z.NULL_CHARACTER_TOKEN,_e),R(g,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(g,Z.COMMENT_TOKEN,Ze),R(g,Z.DOCTYPE_TOKEN,_e),R(g,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.CAPTION||n===G.COL||n===G.COLGROUP||n===G.TBODY||n===G.TD||n===G.TFOOT||n===G.TH||n===G.THEAD||n===G.TR?(e.openElements.hasInTableScope(G.TD)||e.openElements.hasInTableScope(G.TH))&&(e._closeTableCell(),e._processToken(t)):nt(e,t)})),R(g,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.TD||n===G.TH?e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ce):n===G.TABLE||n===G.TBODY||n===G.TFOOT||n===G.THEAD||n===G.TR?e.openElements.hasInTableScope(n)&&(e._closeTableCell(),e._processToken(t)):n!==G.BODY&&n!==G.CAPTION&&n!==G.COL&&n!==G.COLGROUP&&n!==G.HTML&&ot(e,t)})),R(g,Z.EOF_TOKEN,at),g)),R(X,ue,(R(P={},Z.CHARACTER_TOKEN,Ue),R(P,Z.NULL_CHARACTER_TOKEN,_e),R(P,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(P,Z.COMMENT_TOKEN,Ze),R(P,Z.DOCTYPE_TOKEN,_e),R(P,Z.START_TAG_TOKEN,ht),R(P,Z.END_TAG_TOKEN,ft),R(P,Z.EOF_TOKEN,at),P)),R(X,pe,(R(v={},Z.CHARACTER_TOKEN,Ue),R(v,Z.NULL_CHARACTER_TOKEN,_e),R(v,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(v,Z.COMMENT_TOKEN,Ze),R(v,Z.DOCTYPE_TOKEN,_e),R(v,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.CAPTION||n===G.TABLE||n===G.TBODY||n===G.TFOOT||n===G.THEAD||n===G.TR||n===G.TD||n===G.TH?(e.openElements.popUntilTagNamePopped(G.SELECT),e._resetInsertionMode(),e._processToken(t)):ht(e,t)})),R(v,Z.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.CAPTION||n===G.TABLE||n===G.TBODY||n===G.TFOOT||n===G.THEAD||n===G.TR||n===G.TD||n===G.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(G.SELECT),e._resetInsertionMode(),e._processToken(t)):ft(e,t)})),R(v,Z.EOF_TOKEN,at),v)),R(X,de,(R(y={},Z.CHARACTER_TOKEN,Ge),R(y,Z.NULL_CHARACTER_TOKEN,_e),R(y,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(y,Z.COMMENT_TOKEN,Ze),R(y,Z.DOCTYPE_TOKEN,_e),R(y,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;if(n===G.BASE||n===G.BASEFONT||n===G.BGSOUND||n===G.LINK||n===G.META||n===G.NOFRAMES||n===G.SCRIPT||n===G.STYLE||n===G.TEMPLATE||n===G.TITLE)Ye(e,t);else{var r=Pe[n]||ne;e._popTmplInsertionMode(),e._pushTmplInsertionMode(r),e.insertionMode=r,e._processToken(t)}})),R(y,Z.END_TAG_TOKEN,(function(e,t){t.tagName===G.TEMPLATE&&Ae(e,t)})),R(y,Z.EOF_TOKEN,mt),y)),R(X,he,(R(b={},Z.CHARACTER_TOKEN,Qt),R(b,Z.NULL_CHARACTER_TOKEN,Qt),R(b,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(b,Z.COMMENT_TOKEN,(function(e,t){e._appendCommentNode(t,e.openElements.items[0])})),R(b,Z.DOCTYPE_TOKEN,_e),R(b,Z.START_TAG_TOKEN,(function(e,t){t.tagName===G.HTML?nt(e,t):Qt(e,t)})),R(b,Z.END_TAG_TOKEN,(function(e,t){t.tagName===G.HTML?e.fragmentContext||(e.insertionMode=Qe):Qt(e,t)})),R(b,Z.EOF_TOKEN,We),b)),R(X,fe,(R(S={},Z.CHARACTER_TOKEN,_e),R(S,Z.NULL_CHARACTER_TOKEN,_e),R(S,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(S,Z.COMMENT_TOKEN,Ze),R(S,Z.DOCTYPE_TOKEN,_e),R(S,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.FRAMESET?e._insertElement(t,D.HTML):n===G.FRAME?(e._appendElement(t,D.HTML),t.ackSelfClosing=!0):n===G.NOFRAMES&&Ye(e,t)})),R(S,Z.END_TAG_TOKEN,(function(e,t){t.tagName!==G.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===G.FRAMESET||(e.insertionMode=me))})),R(S,Z.EOF_TOKEN,We),S)),R(X,me,(R(T={},Z.CHARACTER_TOKEN,_e),R(T,Z.NULL_CHARACTER_TOKEN,_e),R(T,Z.WHITESPACE_CHARACTER_TOKEN,Ue),R(T,Z.COMMENT_TOKEN,Ze),R(T,Z.DOCTYPE_TOKEN,_e),R(T,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.NOFRAMES&&Ye(e,t)})),R(T,Z.END_TAG_TOKEN,(function(e,t){t.tagName===G.HTML&&(e.insertionMode=$e)})),R(T,Z.EOF_TOKEN,We),T)),R(X,Qe,(R(x={},Z.CHARACTER_TOKEN,$t),R(x,Z.NULL_CHARACTER_TOKEN,$t),R(x,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(x,Z.COMMENT_TOKEN,Ee),R(x,Z.DOCTYPE_TOKEN,_e),R(x,Z.START_TAG_TOKEN,(function(e,t){t.tagName===G.HTML?nt(e,t):$t(e,t)})),R(x,Z.END_TAG_TOKEN,$t),R(x,Z.EOF_TOKEN,We),x)),R(X,$e,(R(w={},Z.CHARACTER_TOKEN,_e),R(w,Z.NULL_CHARACTER_TOKEN,_e),R(w,Z.WHITESPACE_CHARACTER_TOKEN,Ne),R(w,Z.COMMENT_TOKEN,Ee),R(w,Z.DOCTYPE_TOKEN,_e),R(w,Z.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.NOFRAMES&&Ye(e,t)})),R(w,Z.END_TAG_TOKEN,_e),R(w,Z.EOF_TOKEN,We),w)),X),ye=function(){function e(t){k(this,e),this.options=Y(L,t),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&C.install(this,W),this.options.onParseError&&C.install(this,q,{onParseError:this.options.onParseError})}return _(e,[{key:"parse",value:function(e){var t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}},{key:"parseFragment",value:function(e,t){t||(t=this.treeAdapter.createElement(G.TEMPLATE,D.HTML,[]));var n=this.treeAdapter.createElement("documentmock",D.HTML,[]);this._bootstrap(n,t),this.treeAdapter.getTagName(t)===G.TEMPLATE&&this._pushTmplInsertionMode(de),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);var r=this.treeAdapter.getFirstChild(n),O=this.treeAdapter.createDocumentFragment();return this._adoptNodes(r,O),O}},{key:"_bootstrap",value:function(e,t){this.tokenizer=new Z(this.options),this.stopped=!1,this.insertionMode=J,this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new E(this.document,this.treeAdapter),this.activeFormattingElements=new U(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}},{key:"_err",value:function(){}},{key:"_runParsingLoop",value:function(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();var t=this.tokenizer.getNextToken();if(t.type===Z.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===Z.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}},{key:"runParsingLoopForCurrentChunk",value:function(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){var n=this.pendingScript;return this.pendingScript=null,void t(n)}e&&e()}},{key:"_setupTokenizerCDATAMode",value:function(){var e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==D.HTML&&!this._isIntegrationPoint(e)}},{key:"_switchToTextParsing",value:function(e,t){this._insertElement(e,D.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=re}},{key:"switchToPlaintextParsing",value:function(){this.insertionMode=re,this.originalInsertionMode=ne,this.tokenizer.state=Z.MODE.PLAINTEXT}},{key:"_getAdjustedCurrentElement",value:function(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}},{key:"_findFormInFragmentContext",value:function(){var e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===G.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}},{key:"_initTokenizerForFragmentParsing",value:function(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===D.HTML){var e=this.treeAdapter.getTagName(this.fragmentContext);e===G.TITLE||e===G.TEXTAREA?this.tokenizer.state=Z.MODE.RCDATA:e===G.STYLE||e===G.XMP||e===G.IFRAME||e===G.NOEMBED||e===G.NOFRAMES||e===G.NOSCRIPT?this.tokenizer.state=Z.MODE.RAWTEXT:e===G.SCRIPT?this.tokenizer.state=Z.MODE.SCRIPT_DATA:e===G.PLAINTEXT&&(this.tokenizer.state=Z.MODE.PLAINTEXT)}}},{key:"_setDocumentType",value:function(e){var t=e.name||"",n=e.publicId||"",r=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,n,r)}},{key:"_attachElementToTree",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}},{key:"_appendElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n)}},{key:"_insertElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n),this.openElements.push(n)}},{key:"_insertFakeElement",value:function(e){var t=this.treeAdapter.createElement(e,D.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertTemplate",value:function(e){var t=this.treeAdapter.createElement(e.tagName,D.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertFakeRootElement",value:function(){var e=this.treeAdapter.createElement(G.HTML,D.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}},{key:"_appendCommentNode",value:function(e,t){var n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n)}},{key:"_insertCharacters",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}},{key:"_adoptNodes",value:function(e,t){for(var n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}},{key:"_shouldProcessTokenInForeignContent",value:function(e){var t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;var n=this.treeAdapter.getNamespaceURI(t);if(n===D.HTML)return!1;if(this.treeAdapter.getTagName(t)===G.ANNOTATION_XML&&n===D.MATHML&&e.type===Z.START_TAG_TOKEN&&e.tagName===G.SVG)return!1;var r=e.type===Z.CHARACTER_TOKEN||e.type===Z.NULL_CHARACTER_TOKEN||e.type===Z.WHITESPACE_CHARACTER_TOKEN;return(!(e.type===Z.START_TAG_TOKEN&&e.tagName!==G.MGLYPH&&e.tagName!==G.MALIGNMARK)&&!r||!this._isIntegrationPoint(t,D.MATHML))&&((e.type!==Z.START_TAG_TOKEN&&!r||!this._isIntegrationPoint(t,D.HTML))&&e.type!==Z.EOF_TOKEN)}},{key:"_processToken",value:function(e){ve[this.insertionMode][e.type](this,e)}},{key:"_processTokenInBodyMode",value:function(e){ve[ne][e.type](this,e)}},{key:"_processTokenInForeignContent",value:function(e){e.type===Z.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===Z.NULL_CHARACTER_TOKEN?function(e,t){t.chars=I.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===Z.WHITESPACE_CHARACTER_TOKEN?Ue(this,e):e.type===Z.COMMENT_TOKEN?Ze(this,e):e.type===Z.START_TAG_TOKEN?function(e,t){if(j.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==D.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{var n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===D.MATHML?j.adjustTokenMathMLAttrs(t):r===D.SVG&&(j.adjustTokenSVGTagName(t),j.adjustTokenSVGAttrs(t)),j.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):e.type===Z.END_TAG_TOKEN&&function(e,t){for(var n=e.openElements.stackTop;n>0;n--){var r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===D.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(r).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(r);break}}}(this,e)}},{key:"_processInputToken",value:function(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===Z.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(V.nonVoidHtmlElementStartTagWithTrailingSolidus)}},{key:"_isIntegrationPoint",value:function(e,t){var n=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e),O=this.treeAdapter.getAttrList(e);return j.isIntegrationPoint(n,r,O,t)}},{key:"_reconstructActiveFormattingElements",value:function(){var e=this.activeFormattingElements.length;if(e){var t=e,n=null;do{if(t--,(n=this.activeFormattingElements.entries[t]).type===U.MARKER_ENTRY||this.openElements.contains(n.element)){t++;break}}while(t>0);for(var r=t;r=0;e--){var n=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(n=this.fragmentContext));var r=this.treeAdapter.getTagName(n),O=ge[r];if(O){this.insertionMode=O;break}if(!(t||r!==G.TD&&r!==G.TH)){this.insertionMode=le;break}if(!t&&r===G.HEAD){this.insertionMode=K;break}if(r===G.SELECT){this._resetInsertionModeForSelect(e);break}if(r===G.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(r===G.HTML){this.insertionMode=this.headElement?te:H;break}if(t){this.insertionMode=ne;break}}}},{key:"_resetInsertionModeForSelect",value:function(e){if(e>0)for(var t=e-1;t>0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n);if(r===G.TEMPLATE)break;if(r===G.TABLE)return void(this.insertionMode=pe)}this.insertionMode=ue}},{key:"_pushTmplInsertionMode",value:function(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}},{key:"_popTmplInsertionMode",value:function(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}},{key:"_isElementCausesFosterParenting",value:function(e){var t=this.treeAdapter.getTagName(e);return t===G.TABLE||t===G.TBODY||t===G.TFOOT||t===G.THEAD||t===G.TR}},{key:"_shouldFosterParentOnInsertion",value:function(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}},{key:"_findFosterParentingLocation",value:function(){for(var e={parent:null,beforeElement:null},t=this.openElements.stackTop;t>=0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n),O=this.treeAdapter.getNamespaceURI(n);if(r===G.TEMPLATE&&O===D.HTML){e.parent=this.treeAdapter.getTemplateContent(n);break}if(r===G.TABLE){e.parent=this.treeAdapter.getParentNode(n),e.parent?e.beforeElement=n:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}},{key:"_fosterParentElement",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}},{key:"_fosterParentText",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}},{key:"_isSpecialElement",value:function(e){var t=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e);return N.SPECIAL_ELEMENTS[n][t]}}]),e}();function be(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagName)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):it(e,t),n}function Se(e,t){for(var n=null,r=e.openElements.stackTop;r>=0;r--){var O=e.openElements.items[r];if(O===t.element)break;e._isSpecialElement(O)&&(n=O)}return n||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),n}function Te(e,t,n){for(var r=t,O=e.openElements.getCommonAncestor(t),i=0,o=O;o!==n;i++,o=O){O=e.openElements.getCommonAncestor(o);var a=e.activeFormattingElements.getElementEntry(o),s=a&&i>=3;!a||s?(s&&e.activeFormattingElements.removeEntry(a),e.openElements.remove(o)):(o=xe(e,a),r===t&&(e.activeFormattingElements.bookmark=a),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(o,r),r=o)}return r}function xe(e,t){var n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function we(e,t,n){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(n);else{var r=e.treeAdapter.getTagName(t),O=e.treeAdapter.getNamespaceURI(t);r===G.TEMPLATE&&O===D.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Xe(e,t,n){var r=e.treeAdapter.getNamespaceURI(n.element),O=n.token,i=e.treeAdapter.createElement(O.tagName,r,O.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,n.token),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,i)}function ke(e,t){for(var n,r=0;r<8&&(n=be(e,t));r++){var O=Se(e,n);if(!O)break;e.activeFormattingElements.bookmark=n;var i=Te(e,O,n.element),o=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(i),we(e,o,i),Xe(e,O,n)}}function _e(){}function Re(e){e._err(V.misplacedDoctype)}function Ze(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function Ee(e,t){e._appendCommentNode(t,e.document)}function Ue(e,t){e._insertCharacters(t)}function We(e){e.stopped=!0}function qe(e,t){e._err(V.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,N.DOCUMENT_MODE.QUIRKS),e.insertionMode=B,e._processToken(t)}function Ce(e,t){e._insertFakeRootElement(),e.insertionMode=H,e._processToken(t)}function ze(e,t){e._insertFakeElement(G.HEAD),e.headElement=e.openElements.current,e.insertionMode=K,e._processToken(t)}function Ye(e,t){var n=t.tagName;n===G.HTML?nt(e,t):n===G.BASE||n===G.BASEFONT||n===G.BGSOUND||n===G.LINK||n===G.META?(e._appendElement(t,D.HTML),t.ackSelfClosing=!0):n===G.TITLE?e._switchToTextParsing(t,Z.MODE.RCDATA):n===G.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,Z.MODE.RAWTEXT):(e._insertElement(t,D.HTML),e.insertionMode=ee):n===G.NOFRAMES||n===G.STYLE?e._switchToTextParsing(t,Z.MODE.RAWTEXT):n===G.SCRIPT?e._switchToTextParsing(t,Z.MODE.SCRIPT_DATA):n===G.TEMPLATE?(e._insertTemplate(t,D.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=de,e._pushTmplInsertionMode(de)):n===G.HEAD?e._err(V.misplacedStartTagForHeadElement):je(e,t)}function Ae(e,t){var n=t.tagName;n===G.HEAD?(e.openElements.pop(),e.insertionMode=te):n===G.BODY||n===G.BR||n===G.HTML?je(e,t):n===G.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==G.TEMPLATE&&e._err(V.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(G.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(V.endTagWithoutMatchingOpenElement)}function je(e,t){e.openElements.pop(),e.insertionMode=te,e._processToken(t)}function Ve(e,t){var n=t.type===Z.EOF_TOKEN?V.openElementsLeftAfterEof:V.disallowedContentInNoscriptInHead;e._err(n),e.openElements.pop(),e.insertionMode=K,e._processToken(t)}function Ie(e,t){e._insertFakeElement(G.BODY),e.insertionMode=ne,e._processToken(t)}function Ne(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Ge(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function De(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML)}function Fe(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function Le(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Me(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function Je(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,D.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Be(e,t){e._appendElement(t,D.HTML),t.ackSelfClosing=!0}function He(e,t){e._switchToTextParsing(t,Z.MODE.RAWTEXT)}function Ke(e,t){e.openElements.currentTagName===G.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML)}function et(e,t){e.openElements.hasInScope(G.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,D.HTML)}function tt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML)}function nt(e,t){var n=t.tagName;switch(n.length){case 1:n===G.I||n===G.S||n===G.B||n===G.U?Le(e,t):n===G.P?De(e,t):n===G.A?function(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(G.A);n&&(ke(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):tt(e,t);break;case 2:n===G.DL||n===G.OL||n===G.UL?De(e,t):n===G.H1||n===G.H2||n===G.H3||n===G.H4||n===G.H5||n===G.H6?function(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement();var n=e.openElements.currentTagName;n!==G.H1&&n!==G.H2&&n!==G.H3&&n!==G.H4&&n!==G.H5&&n!==G.H6||e.openElements.pop(),e._insertElement(t,D.HTML)}(e,t):n===G.LI||n===G.DD||n===G.DT?function(e,t){e.framesetOk=!1;for(var n=t.tagName,r=e.openElements.stackTop;r>=0;r--){var O=e.openElements.items[r],i=e.treeAdapter.getTagName(O),o=null;if(n===G.LI&&i===G.LI?o=G.LI:n!==G.DD&&n!==G.DT||i!==G.DD&&i!==G.DT||(o=i),o){e.openElements.generateImpliedEndTagsWithExclusion(o),e.openElements.popUntilTagNamePopped(o);break}if(i!==G.ADDRESS&&i!==G.DIV&&i!==G.P&&e._isSpecialElement(O))break}e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML)}(e,t):n===G.EM||n===G.TT?Le(e,t):n===G.BR?Je(e,t):n===G.HR?function(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._appendElement(t,D.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t):n===G.RB?et(e,t):n===G.RT||n===G.RP?function(e,t){e.openElements.hasInScope(G.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(G.RTC),e._insertElement(t,D.HTML)}(e,t):n!==G.TH&&n!==G.TD&&n!==G.TR&&tt(e,t);break;case 3:n===G.DIV||n===G.DIR||n===G.NAV?De(e,t):n===G.PRE?Fe(e,t):n===G.BIG?Le(e,t):n===G.IMG||n===G.WBR?Je(e,t):n===G.XMP?function(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Z.MODE.RAWTEXT)}(e,t):n===G.SVG?function(e,t){e._reconstructActiveFormattingElements(),j.adjustTokenSVGAttrs(t),j.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,D.SVG):e._insertElement(t,D.SVG),t.ackSelfClosing=!0}(e,t):n===G.RTC?et(e,t):n!==G.COL&&tt(e,t);break;case 4:n===G.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):n===G.BASE||n===G.LINK||n===G.META?Ye(e,t):n===G.BODY?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t):n===G.MAIN||n===G.MENU?De(e,t):n===G.FORM?function(e,t){var n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML),n||(e.formElement=e.openElements.current))}(e,t):n===G.CODE||n===G.FONT?Le(e,t):n===G.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(G.NOBR)&&(ke(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,D.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):n===G.AREA?Je(e,t):n===G.MATH?function(e,t){e._reconstructActiveFormattingElements(),j.adjustTokenMathMLAttrs(t),j.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,D.MATHML):e._insertElement(t,D.MATHML),t.ackSelfClosing=!0}(e,t):n===G.MENU?function(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML)}(e,t):n!==G.HEAD&&tt(e,t);break;case 5:n===G.STYLE||n===G.TITLE?Ye(e,t):n===G.ASIDE?De(e,t):n===G.SMALL?Le(e,t):n===G.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==N.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML),e.framesetOk=!1,e.insertionMode=Oe}(e,t):n===G.EMBED?Je(e,t):n===G.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,D.HTML);var n=Z.getTokenAttr(t,F.TYPE);n&&n.toLowerCase()===M||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):n===G.PARAM||n===G.TRACK?Be(e,t):n===G.IMAGE?function(e,t){t.tagName=G.IMG,Je(e,t)}(e,t):n!==G.FRAME&&n!==G.TBODY&&n!==G.TFOOT&&n!==G.THEAD&&tt(e,t);break;case 6:n===G.SCRIPT?Ye(e,t):n===G.CENTER||n===G.FIGURE||n===G.FOOTER||n===G.HEADER||n===G.HGROUP||n===G.DIALOG?De(e,t):n===G.BUTTON?function(e,t){e.openElements.hasInScope(G.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(G.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML),e.framesetOk=!1}(e,t):n===G.STRIKE||n===G.STRONG?Le(e,t):n===G.APPLET||n===G.OBJECT?Me(e,t):n===G.KEYGEN?Je(e,t):n===G.SOURCE?Be(e,t):n===G.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Z.MODE.RAWTEXT)}(e,t):n===G.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,D.HTML),e.framesetOk=!1,e.insertionMode===Oe||e.insertionMode===oe||e.insertionMode===se||e.insertionMode===ce||e.insertionMode===le?e.insertionMode=pe:e.insertionMode=ue}(e,t):n===G.OPTION?Ke(e,t):tt(e,t);break;case 7:n===G.BGSOUND?Ye(e,t):n===G.DETAILS||n===G.ADDRESS||n===G.ARTICLE||n===G.SECTION||n===G.SUMMARY?De(e,t):n===G.LISTING?Fe(e,t):n===G.MARQUEE?Me(e,t):n===G.NOEMBED?He(e,t):n!==G.CAPTION&&tt(e,t);break;case 8:n===G.BASEFONT?Ye(e,t):n===G.FRAMESET?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,D.HTML),e.insertionMode=fe)}(e,t):n===G.FIELDSET?De(e,t):n===G.TEXTAREA?function(e,t){e._insertElement(t,D.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Z.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=re}(e,t):n===G.TEMPLATE?Ye(e,t):n===G.NOSCRIPT?e.options.scriptingEnabled?He(e,t):tt(e,t):n===G.OPTGROUP?Ke(e,t):n!==G.COLGROUP&&tt(e,t);break;case 9:n===G.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(G.P)&&e._closePElement(),e._insertElement(t,D.HTML),e.tokenizer.state=Z.MODE.PLAINTEXT}(e,t):tt(e,t);break;case 10:n===G.BLOCKQUOTE||n===G.FIGCAPTION?De(e,t):tt(e,t);break;default:tt(e,t)}}function rt(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function Ot(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function it(e,t){for(var n=t.tagName,r=e.openElements.stackTop;r>0;r--){var O=e.openElements.items[r];if(e.treeAdapter.getTagName(O)===n){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilElementPopped(O);break}if(e._isSpecialElement(O))break}}function ot(e,t){var n=t.tagName;switch(n.length){case 1:n===G.A||n===G.B||n===G.I||n===G.S||n===G.U?ke(e,t):n===G.P?function(e){e.openElements.hasInButtonScope(G.P)||e._insertFakeElement(G.P),e._closePElement()}(e):it(e,t);break;case 2:n===G.DL||n===G.UL||n===G.OL?rt(e,t):n===G.LI?function(e){e.openElements.hasInListItemScope(G.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(G.LI),e.openElements.popUntilTagNamePopped(G.LI))}(e):n===G.DD||n===G.DT?function(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t):n===G.H1||n===G.H2||n===G.H3||n===G.H4||n===G.H5||n===G.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):n===G.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(G.BR),e.openElements.pop(),e.framesetOk=!1}(e):n===G.EM||n===G.TT?ke(e,t):it(e,t);break;case 3:n===G.BIG?ke(e,t):n===G.DIR||n===G.DIV||n===G.NAV||n===G.PRE?rt(e,t):it(e,t);break;case 4:n===G.BODY?function(e){e.openElements.hasInScope(G.BODY)&&(e.insertionMode=he)}(e):n===G.HTML?function(e,t){e.openElements.hasInScope(G.BODY)&&(e.insertionMode=he,e._processToken(t))}(e,t):n===G.FORM?function(e){var t=e.openElements.tmplCount>0,n=e.formElement;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(G.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(G.FORM):e.openElements.remove(n))}(e):n===G.CODE||n===G.FONT||n===G.NOBR?ke(e,t):n===G.MAIN||n===G.MENU?rt(e,t):it(e,t);break;case 5:n===G.ASIDE?rt(e,t):n===G.SMALL?ke(e,t):it(e,t);break;case 6:n===G.CENTER||n===G.FIGURE||n===G.FOOTER||n===G.HEADER||n===G.HGROUP||n===G.DIALOG?rt(e,t):n===G.APPLET||n===G.OBJECT?Ot(e,t):n===G.STRIKE||n===G.STRONG?ke(e,t):it(e,t);break;case 7:n===G.ADDRESS||n===G.ARTICLE||n===G.DETAILS||n===G.SECTION||n===G.SUMMARY||n===G.LISTING?rt(e,t):n===G.MARQUEE?Ot(e,t):it(e,t);break;case 8:n===G.FIELDSET?rt(e,t):n===G.TEMPLATE?Ae(e,t):it(e,t);break;case 10:n===G.BLOCKQUOTE||n===G.FIGCAPTION?rt(e,t):it(e,t);break;default:it(e,t)}}function at(e,t){e.tmplInsertionModeStackTop>-1?mt(e,t):e.stopped=!0}function st(e,t){var n=e.openElements.currentTagName;n===G.TABLE||n===G.TBODY||n===G.TFOOT||n===G.THEAD||n===G.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=ie,e._processToken(t)):ut(e,t)}function ct(e,t){var n=t.tagName;switch(n.length){case 2:n===G.TD||n===G.TH||n===G.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(G.TBODY),e.insertionMode=se,e._processToken(t)}(e,t):ut(e,t);break;case 3:n===G.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(G.COLGROUP),e.insertionMode=ae,e._processToken(t)}(e,t):ut(e,t);break;case 4:n===G.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,D.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):ut(e,t);break;case 5:n===G.TABLE?function(e,t){e.openElements.hasInTableScope(G.TABLE)&&(e.openElements.popUntilTagNamePopped(G.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):n===G.STYLE?Ye(e,t):n===G.TBODY||n===G.TFOOT||n===G.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,D.HTML),e.insertionMode=se}(e,t):n===G.INPUT?function(e,t){var n=Z.getTokenAttr(t,F.TYPE);n&&n.toLowerCase()===M?e._appendElement(t,D.HTML):ut(e,t),t.ackSelfClosing=!0}(e,t):ut(e,t);break;case 6:n===G.SCRIPT?Ye(e,t):ut(e,t);break;case 7:n===G.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,D.HTML),e.insertionMode=oe}(e,t):ut(e,t);break;case 8:n===G.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,D.HTML),e.insertionMode=ae}(e,t):n===G.TEMPLATE?Ye(e,t):ut(e,t);break;default:ut(e,t)}}function lt(e,t){var n=t.tagName;n===G.TABLE?e.openElements.hasInTableScope(G.TABLE)&&(e.openElements.popUntilTagNamePopped(G.TABLE),e._resetInsertionMode()):n===G.TEMPLATE?Ae(e,t):n!==G.BODY&&n!==G.CAPTION&&n!==G.COL&&n!==G.COLGROUP&&n!==G.HTML&&n!==G.TBODY&&n!==G.TD&&n!==G.TFOOT&&n!==G.TH&&n!==G.THEAD&&n!==G.TR&&ut(e,t)}function ut(e,t){var n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=n}function pt(e,t){var n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0?(e.openElements.popUntilTagNamePopped(G.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Qt(e,t){e.insertionMode=ne,e._processToken(t)}function $t(e,t){e.insertionMode=ne,e._processToken(t)}e.exports=ye},4690:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(3359),o=i.TAG_NAMES,a=i.NAMESPACES;function s(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI;case 3:return e===o.RTC;case 6:return e===o.OPTION;case 8:return e===o.OPTGROUP}return!1}function c(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI||e===o.TD||e===o.TH||e===o.TR;case 3:return e===o.RTC;case 5:return e===o.TBODY||e===o.TFOOT||e===o.THEAD;case 6:return e===o.OPTION;case 7:return e===o.CAPTION;case 8:return e===o.OPTGROUP||e===o.COLGROUP}return!1}function l(e,t){switch(e.length){case 2:if(e===o.TD||e===o.TH)return t===a.HTML;if(e===o.MI||e===o.MO||e===o.MN||e===o.MS)return t===a.MATHML;break;case 4:if(e===o.HTML)return t===a.HTML;if(e===o.DESC)return t===a.SVG;break;case 5:if(e===o.TABLE)return t===a.HTML;if(e===o.MTEXT)return t===a.MATHML;if(e===o.TITLE)return t===a.SVG;break;case 6:return(e===o.APPLET||e===o.OBJECT)&&t===a.HTML;case 7:return(e===o.CAPTION||e===o.MARQUEE)&&t===a.HTML;case 8:return e===o.TEMPLATE&&t===a.HTML;case 13:return e===o.FOREIGN_OBJECT&&t===a.SVG;case 14:return e===o.ANNOTATION_XML&&t===a.MATHML}return!1}var u=function(){function e(t,n){r(this,e),this.stackTop=-1,this.items=[],this.current=t,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=n}return O(e,[{key:"_indexOf",value:function(e){for(var t=-1,n=this.stackTop;n>=0;n--)if(this.items[n]===e){t=n;break}return t}},{key:"_isInTemplate",value:function(){return this.currentTagName===o.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===a.HTML}},{key:"_updateCurrentElement",value:function(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}},{key:"push",value:function(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}},{key:"pop",value:function(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}},{key:"replace",value:function(e,t){var n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&this._updateCurrentElement()}},{key:"insertAfter",value:function(e,t){var n=this._indexOf(e)+1;this.items.splice(n,0,t),n===++this.stackTop&&this._updateCurrentElement()}},{key:"popUntilTagNamePopped",value:function(e){for(;this.stackTop>-1;){var t=this.currentTagName,n=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&n===a.HTML)break}}},{key:"popUntilElementPopped",value:function(e){for(;this.stackTop>-1;){var t=this.current;if(this.pop(),t===e)break}}},{key:"popUntilNumberedHeaderPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.H1||e===o.H2||e===o.H3||e===o.H4||e===o.H5||e===o.H6&&t===a.HTML)break}}},{key:"popUntilTableCellPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.TD||e===o.TH&&t===a.HTML)break}}},{key:"popAllUpToHtmlElement",value:function(){this.stackTop=0,this._updateCurrentElement()}},{key:"clearBackToTableContext",value:function(){for(;this.currentTagName!==o.TABLE&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==a.HTML;)this.pop()}},{key:"clearBackToTableBodyContext",value:function(){for(;this.currentTagName!==o.TBODY&&this.currentTagName!==o.TFOOT&&this.currentTagName!==o.THEAD&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==a.HTML;)this.pop()}},{key:"clearBackToTableRowContext",value:function(){for(;this.currentTagName!==o.TR&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==a.HTML;)this.pop()}},{key:"remove",value:function(e){for(var t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}},{key:"tryPeekProperlyNestedBodyElement",value:function(){var e=this.items[1];return e&&this.treeAdapter.getTagName(e)===o.BODY?e:null}},{key:"contains",value:function(e){return this._indexOf(e)>-1}},{key:"getCommonAncestor",value:function(e){var t=this._indexOf(e);return--t>=0?this.items[t]:null}},{key:"isRootHtmlElementCurrent",value:function(){return 0===this.stackTop&&this.currentTagName===o.HTML}},{key:"hasInScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===a.HTML)return!0;if(l(n,r))return!1}return!0}},{key:"hasNumberedHeaderInScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]),n=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===o.H1||t===o.H2||t===o.H3||t===o.H4||t===o.H5||t===o.H6)&&n===a.HTML)return!0;if(l(t,n))return!1}return!0}},{key:"hasInListItemScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===a.HTML)return!0;if((n===o.UL||n===o.OL)&&r===a.HTML||l(n,r))return!1}return!0}},{key:"hasInButtonScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===a.HTML)return!0;if(n===o.BUTTON&&r===a.HTML||l(n,r))return!1}return!0}},{key:"hasInTableScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===a.HTML){if(n===e)return!0;if(n===o.TABLE||n===o.TEMPLATE||n===o.HTML)return!1}}return!0}},{key:"hasTableBodyContextInTableScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===a.HTML){if(t===o.TBODY||t===o.THEAD||t===o.TFOOT)return!0;if(t===o.TABLE||t===o.HTML)return!1}}return!0}},{key:"hasInSelectScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===a.HTML){if(n===e)return!0;if(n!==o.OPTION&&n!==o.OPTGROUP)return!1}}return!0}},{key:"generateImpliedEndTags",value:function(){for(;s(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsThoroughly",value:function(){for(;c(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsWithExclusion",value:function(e){for(;s(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}]),e}();e.exports=u},7669:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8129),o=n(229),a=n(8858),s=n(1965),c=o.CODE_POINTS,l=o.CODE_POINT_SEQUENCES,u={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},p="DATA_STATE",d="RCDATA_STATE",h="RAWTEXT_STATE",f="SCRIPT_DATA_STATE",m="PLAINTEXT_STATE",Q="TAG_OPEN_STATE",$="END_TAG_OPEN_STATE",g="TAG_NAME_STATE",P="RCDATA_LESS_THAN_SIGN_STATE",v="RCDATA_END_TAG_OPEN_STATE",y="RCDATA_END_TAG_NAME_STATE",b="RAWTEXT_LESS_THAN_SIGN_STATE",S="RAWTEXT_END_TAG_OPEN_STATE",T="RAWTEXT_END_TAG_NAME_STATE",x="SCRIPT_DATA_LESS_THAN_SIGN_STATE",w="SCRIPT_DATA_END_TAG_OPEN_STATE",X="SCRIPT_DATA_END_TAG_NAME_STATE",k="SCRIPT_DATA_ESCAPE_START_STATE",_="SCRIPT_DATA_ESCAPE_START_DASH_STATE",R="SCRIPT_DATA_ESCAPED_STATE",Z="SCRIPT_DATA_ESCAPED_DASH_STATE",E="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",U="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",W="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",q="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",C="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",z="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",Y="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",A="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",j="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",V="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",I="BEFORE_ATTRIBUTE_NAME_STATE",N="ATTRIBUTE_NAME_STATE",G="AFTER_ATTRIBUTE_NAME_STATE",D="BEFORE_ATTRIBUTE_VALUE_STATE",F="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",L="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",M="ATTRIBUTE_VALUE_UNQUOTED_STATE",J="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",B="SELF_CLOSING_START_TAG_STATE",H="BOGUS_COMMENT_STATE",K="MARKUP_DECLARATION_OPEN_STATE",ee="COMMENT_START_STATE",te="COMMENT_START_DASH_STATE",ne="COMMENT_STATE",re="COMMENT_LESS_THAN_SIGN_STATE",Oe="COMMENT_LESS_THAN_SIGN_BANG_STATE",ie="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",oe="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",ae="COMMENT_END_DASH_STATE",se="COMMENT_END_STATE",ce="COMMENT_END_BANG_STATE",le="DOCTYPE_STATE",ue="BEFORE_DOCTYPE_NAME_STATE",pe="DOCTYPE_NAME_STATE",de="AFTER_DOCTYPE_NAME_STATE",he="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",fe="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",me="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",Qe="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",$e="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ge="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",Pe="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",ve="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ye="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",be="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",Se="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",Te="BOGUS_DOCTYPE_STATE",xe="CDATA_SECTION_STATE",we="CDATA_SECTION_BRACKET_STATE",Xe="CDATA_SECTION_END_STATE",ke="CHARACTER_REFERENCE_STATE",_e="NAMED_CHARACTER_REFERENCE_STATE",Re="AMBIGUOS_AMPERSAND_STATE",Ze="NUMERIC_CHARACTER_REFERENCE_STATE",Ee="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Ue="DECIMAL_CHARACTER_REFERENCE_START_STATE",We="HEXADEMICAL_CHARACTER_REFERENCE_STATE",qe="DECIMAL_CHARACTER_REFERENCE_STATE",Ce="NUMERIC_CHARACTER_REFERENCE_END_STATE";function ze(e){return e===c.SPACE||e===c.LINE_FEED||e===c.TABULATION||e===c.FORM_FEED}function Ye(e){return e>=c.DIGIT_0&&e<=c.DIGIT_9}function Ae(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_Z}function je(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_Z}function Ve(e){return je(e)||Ae(e)}function Ie(e){return Ve(e)||Ye(e)}function Ne(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_F}function Ge(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_F}function De(e){return e+32}function Fe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function Le(e){return String.fromCharCode(De(e))}function Me(e,t){for(var n=a[++e],r=++e,O=r+n-1;r<=O;){var i=r+O>>>1,o=a[i];if(ot))return a[i+n];O=i-1}}return-1}var Je=function(){function e(){r(this,e),this.preprocessor=new i,this.tokenQueue=[],this.allowCDATA=!1,this.state=p,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}return O(e,[{key:"_err",value:function(){}},{key:"_errOnNextCodePoint",value:function(e){this._consume(),this._err(e),this._unconsume()}},{key:"getNextToken",value:function(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;var e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}},{key:"write",value:function(e,t){this.active=!0,this.preprocessor.write(e,t)}},{key:"insertHtmlAtCurrentPos",value:function(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}},{key:"_ensureHibernation",value:function(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:e.HIBERNATION_TOKEN}),!0}return!1}},{key:"_consume",value:function(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}},{key:"_unconsume",value:function(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}},{key:"_reconsumeInState",value:function(e){this.state=e,this._unconsume()}},{key:"_consumeSequenceIfMatch",value:function(e,t,n){for(var r=0,O=!0,i=e.length,o=0,a=t,s=void 0;o0&&(a=this._consume(),r++),a===c.EOF){O=!1;break}if(a!==(s=e[o])&&(n||a!==De(s))){O=!1;break}}if(!O)for(;r--;)this._unconsume();return O}},{key:"_isTempBufferEqualToScriptString",value:function(){if(this.tempBuff.length!==l.SCRIPT_STRING.length)return!1;for(var e=0;e0&&this._err(s.endTagWithAttributes),t.selfClosing&&this._err(s.endTagWithTrailingSolidus)),this.tokenQueue.push(t)}},{key:"_emitCurrentCharacterToken",value:function(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}},{key:"_emitEOFToken",value:function(){this._createEOFToken(),this._emitCurrentToken()}},{key:"_appendCharToCurrentCharacterToken",value:function(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}},{key:"_emitCodePoint",value:function(t){var n=e.CHARACTER_TOKEN;ze(t)?n=e.WHITESPACE_CHARACTER_TOKEN:t===c.NULL&&(n=e.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(n,Fe(t))}},{key:"_emitSeveralCodePoints",value:function(e){for(var t=0;t-1;){var O=a[r],i=O<7;i&&1&O&&(t=2&O?[a[++r],a[++r]]:[a[++r]],n=0);var o=this._consume();if(this.tempBuff.push(o),n++,o===c.EOF)break;r=i?4&O?Me(r,o):-1:o===O?++r:-1}for(;n--;)this.tempBuff.pop(),this._unconsume();return t}},{key:"_isCharacterReferenceInAttribute",value:function(){return this.returnState===F||this.returnState===L||this.returnState===M}},{key:"_isCharacterReferenceAttributeQuirk",value:function(e){if(!e&&this._isCharacterReferenceInAttribute()){var t=this._consume();return this._unconsume(),t===c.EQUALS_SIGN||Ie(t)}return!1}},{key:"_flushCodePointsConsumedAsCharacterReference",value:function(){if(this._isCharacterReferenceInAttribute())for(var e=0;e")):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.state=R,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=R,this._emitCodePoint(e))}},{key:U,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=W):Ve(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(C)):(this._emitChars("<"),this._reconsumeInState(R))}},{key:W,value:function(e){Ve(e)?(this._createEndTagToken(),this._reconsumeInState(q)):(this._emitChars("")):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.state=z,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=z,this._emitCodePoint(e))}},{key:j,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=V,this._emitChars("/")):this._reconsumeInState(z)}},{key:V,value:function(e){ze(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?R:z,this._emitCodePoint(e)):Ae(e)?(this.tempBuff.push(De(e)),this._emitCodePoint(e)):je(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(z)}},{key:I,value:function(e){ze(e)||(e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?this._reconsumeInState(G):e===c.EQUALS_SIGN?(this._err(s.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=N):(this._createAttr(""),this._reconsumeInState(N)))}},{key:N,value:function(e){ze(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?(this._leaveAttrName(G),this._unconsume()):e===c.EQUALS_SIGN?this._leaveAttrName(D):Ae(e)?this.currentAttr.name+=Le(e):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN?(this._err(s.unexpectedCharacterInAttributeName),this.currentAttr.name+=Fe(e)):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.name+=o.REPLACEMENT_CHARACTER):this.currentAttr.name+=Fe(e)}},{key:G,value:function(e){ze(e)||(e===c.SOLIDUS?this.state=B:e===c.EQUALS_SIGN?this.state=D:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(N)))}},{key:D,value:function(e){ze(e)||(e===c.QUOTATION_MARK?this.state=F:e===c.APOSTROPHE?this.state=L:e===c.GREATER_THAN_SIGN?(this._err(s.missingAttributeValue),this.state=p,this._emitCurrentToken()):this._reconsumeInState(M))}},{key:F,value:function(e){e===c.QUOTATION_MARK?this.state=J:e===c.AMPERSAND?(this.returnState=F,this.state=ke):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:L,value:function(e){e===c.APOSTROPHE?this.state=J:e===c.AMPERSAND?(this.returnState=L,this.state=ke):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:M,value:function(e){ze(e)?this._leaveAttrValue(I):e===c.AMPERSAND?(this.returnState=M,this.state=ke):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN||e===c.EQUALS_SIGN||e===c.GRAVE_ACCENT?(this._err(s.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=Fe(e)):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:J,value:function(e){ze(e)?this._leaveAttrValue(I):e===c.SOLIDUS?this._leaveAttrValue(B):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.missingWhitespaceBetweenAttributes),this._reconsumeInState(I))}},{key:B,value:function(e){e===c.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.unexpectedSolidusInTag),this._reconsumeInState(I))}},{key:H,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):this.currentToken.data+=Fe(e)}},{key:K,value:function(e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=ee):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state=le:this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=xe:(this._err(s.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=H):this._ensureHibernation()||(this._err(s.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(H))}},{key:ee,value:function(e){e===c.HYPHEN_MINUS?this.state=te:e===c.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):this._reconsumeInState(ne)}},{key:te,value:function(e){e===c.HYPHEN_MINUS?this.state=se:e===c.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:ne,value:function(e){e===c.HYPHEN_MINUS?this.state=ae:e===c.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=re):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=Fe(e)}},{key:re,value:function(e){e===c.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=Oe):e===c.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ne)}},{key:Oe,value:function(e){e===c.HYPHEN_MINUS?this.state=ie:this._reconsumeInState(ne)}},{key:ie,value:function(e){e===c.HYPHEN_MINUS?this.state=oe:this._reconsumeInState(ae)}},{key:oe,value:function(e){e!==c.GREATER_THAN_SIGN&&e!==c.EOF&&this._err(s.nestedComment),this._reconsumeInState(se)}},{key:ae,value:function(e){e===c.HYPHEN_MINUS?this.state=se:e===c.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:se,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EXCLAMATION_MARK?this.state=ce:e===c.HYPHEN_MINUS?this.currentToken.data+="-":e===c.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ne))}},{key:ce,value:function(e){e===c.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=ae):e===c.GREATER_THAN_SIGN?(this._err(s.incorrectlyClosedComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState(ne))}},{key:le,value:function(e){ze(e)?this.state=ue:e===c.GREATER_THAN_SIGN?this._reconsumeInState(ue):e===c.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(ue))}},{key:ue,value:function(e){ze(e)||(Ae(e)?(this._createDoctypeToken(Le(e)),this.state=pe):e===c.NULL?(this._err(s.unexpectedNullCharacter),this._createDoctypeToken(o.REPLACEMENT_CHARACTER),this.state=pe):e===c.GREATER_THAN_SIGN?(this._err(s.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(Fe(e)),this.state=pe))}},{key:pe,value:function(e){ze(e)?this.state=de:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):Ae(e)?this.currentToken.name+=Le(e):e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.name+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=Fe(e)}},{key:de,value:function(e){ze(e)||(e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(l.PUBLIC_STRING,e,!1)?this.state=he:this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state=Pe:this._ensureHibernation()||(this._err(s.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te)))}},{key:he,value:function(e){ze(e)?this.state=fe:e===c.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=me):e===c.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=Qe):e===c.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te))}},{key:fe,value:function(e){ze(e)||(e===c.QUOTATION_MARK?(this.currentToken.publicId="",this.state=me):e===c.APOSTROPHE?(this.currentToken.publicId="",this.state=Qe):e===c.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te)))}},{key:me,value:function(e){e===c.QUOTATION_MARK?this.state=$e:e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Fe(e)}},{key:Qe,value:function(e){e===c.APOSTROPHE?this.state=$e:e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Fe(e)}},{key:$e,value:function(e){ze(e)?this.state=ge:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.QUOTATION_MARK?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ye):e===c.APOSTROPHE?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=be):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te))}},{key:ge,value:function(e){ze(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=be):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te)))}},{key:Pe,value:function(e){ze(e)?this.state=ve:e===c.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ye):e===c.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te))}},{key:ve,value:function(e){ze(e)||(e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(Te)))}},{key:ye,value:function(e){e===c.QUOTATION_MARK?this.state=Se:e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Fe(e)}},{key:be,value:function(e){e===c.APOSTROPHE?this.state=Se:e===c.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Fe(e)}},{key:Se,value:function(e){ze(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState(Te)))}},{key:Te,value:function(e){e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.NULL?this._err(s.unexpectedNullCharacter):e===c.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}},{key:xe,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=we:e===c.EOF?(this._err(s.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}},{key:we,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=Xe:(this._emitChars("]"),this._reconsumeInState(xe))}},{key:Xe,value:function(e){e===c.GREATER_THAN_SIGN?this.state=p:e===c.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(xe))}},{key:ke,value:function(e){this.tempBuff=[c.AMPERSAND],e===c.NUMBER_SIGN?(this.tempBuff.push(e),this.state=Ze):Ie(e)?this._reconsumeInState(_e):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:_e,value:function(e){var t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[c.AMPERSAND];else if(t){var n=this.tempBuff[this.tempBuff.length-1]===c.SEMICOLON;this._isCharacterReferenceAttributeQuirk(n)||(n||this._errOnNextCodePoint(s.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state=Re}},{key:Re,value:function(e){Ie(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Fe(e):this._emitCodePoint(e):(e===c.SEMICOLON&&this._err(s.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}},{key:Ze,value:function(e){this.charRefCode=0,e===c.LATIN_SMALL_X||e===c.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Ee):this._reconsumeInState(Ue)}},{key:Ee,value:function(e){!function(e){return Ye(e)||Ne(e)||Ge(e)}(e)?(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(We)}},{key:Ue,value:function(e){Ye(e)?this._reconsumeInState(qe):(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:We,value:function(e){Ne(e)?this.charRefCode=16*this.charRefCode+e-55:Ge(e)?this.charRefCode=16*this.charRefCode+e-87:Ye(e)?this.charRefCode=16*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Ce:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(Ce))}},{key:qe,value:function(e){Ye(e)?this.charRefCode=10*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Ce:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(Ce))}},{key:Ce,value:function(){if(this.charRefCode===c.NULL)this._err(s.nullCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(s.characterReferenceOutsideUnicodeRange),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isSurrogate(this.charRefCode))this._err(s.surrogateCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isUndefinedCodePoint(this.charRefCode))this._err(s.noncharacterCharacterReference);else if(o.isControlCodePoint(this.charRefCode)||this.charRefCode===c.CARRIAGE_RETURN){this._err(s.controlCharacterReference);var e=u[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}]),e}();Je.CHARACTER_TOKEN="CHARACTER_TOKEN",Je.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Je.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Je.START_TAG_TOKEN="START_TAG_TOKEN",Je.END_TAG_TOKEN="END_TAG_TOKEN",Je.COMMENT_TOKEN="COMMENT_TOKEN",Je.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Je.EOF_TOKEN="EOF_TOKEN",Je.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Je.MODE={DATA:p,RCDATA:d,RAWTEXT:h,SCRIPT_DATA:f,PLAINTEXT:m},Je.getTokenAttr=function(e,t){for(var n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null},e.exports=Je},8858:function(e){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},8129:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(229),o=n(1965),a=i.CODE_POINTS,s=function(){function e(){r(this,e),this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}return O(e,[{key:"_err",value:function(){}},{key:"_addGap",value:function(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}},{key:"_processSurrogate",value:function(e){if(this.pos!==this.lastCharPos){var t=this.html.charCodeAt(this.pos+1);if(i.isSurrogatePair(t))return this.pos++,this._addGap(),i.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,a.EOF;return this._err(o.surrogateInInputStream),e}},{key:"dropParsedChunk",value:function(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}},{key:"write",value:function(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}},{key:"insertHtmlAtCurrentPos",value:function(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}},{key:"advance",value:function(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,a.EOF;var e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===a.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===a.CARRIAGE_RETURN?(this.skipNextNewLine=!0,a.LINE_FEED):(this.skipNextNewLine=!1,i.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===a.LINE_FEED||e===a.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}},{key:"_checkForProblematicCharacters",value:function(e){i.isControlCodePoint(e)?this._err(o.controlCharacterInInputStream):i.isUndefinedCodePoint(e)&&this._err(o.noncharacterInInputStream)}},{key:"retreat",value:function(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}]),e}();e.exports=s},8361:function(e,t,n){"use strict";var r=n(3359).DOCUMENT_MODE;t.createDocument=function(){return{nodeName:"#document",mode:r.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};var O=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},o=t.insertBefore=function(e,t,n){var r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,n,r){for(var O=null,o=0;o>>1,O=e[r];if(!(0>>1;ri(s,n))ci(l,s)?(e[r]=l,e[c]=n,r=c):(e[r]=s,e[a]=n,r=a);else{if(!(ci(l,n)))break e;e[r]=l,e[c]=n,r=c}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();t.unstable_now=function(){return a.now()-s}}var c=[],l=[],u=1,p=null,d=3,h=!1,f=!1,m=!1,Q="function"===typeof setTimeout?setTimeout:null,$="function"===typeof clearTimeout?clearTimeout:null,g="undefined"!==typeof setImmediate?setImmediate:null;function P(e){for(var t=r(l);null!==t;){if(null===t.callback)O(l);else{if(!(t.startTime<=e))break;O(l),t.sortIndex=t.expirationTime,n(c,t)}t=r(l)}}function v(e){if(m=!1,P(e),!f)if(null!==r(c))f=!0,E(y);else{var t=r(l);null!==t&&U(v,t.startTime-e)}}function y(e,n){f=!1,m&&(m=!1,$(x),x=-1),h=!0;var i=d;try{for(P(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!k());){var o=p.callback;if("function"===typeof o){p.callback=null,d=p.priorityLevel;var a=o(p.expirationTime<=n);n=t.unstable_now(),"function"===typeof a?p.callback=a:p===r(c)&&O(c),P(n)}else O(c);p=r(c)}if(null!==p)var s=!0;else{var u=r(l);null!==u&&U(v,u.startTime-n),s=!1}return s}finally{p=null,d=i,h=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var b,S=!1,T=null,x=-1,w=5,X=-1;function k(){return!(t.unstable_now()-Xe||125o?(e.sortIndex=i,n(l,e),null===r(c)&&e===r(l)&&(m?($(x),x=-1):m=!0,U(v,i-o))):(e.sortIndex=a,n(c,e),f||h||(f=!0,E(y))),e},t.unstable_shouldYield=k,t.unstable_wrapCallback=function(e){var t=d;return function(){var n=d;d=t;try{return e.apply(this,arguments)}finally{d=n}}}},1544:function(e,t,n){"use strict";e.exports=n(5936)},7361:function(e){e.exports=function(e,t,n,r){var O=n?n.call(r,e,t):void 0;if(void 0!==O)return!!O;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),s=0;s= 0\n}\n\n// Returns `true` if one of the strings in the slice\n// satisfies the predicate `f`.\nfunc Any(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if f(v) {\n return true\n }\n }\n return false\n}\n\n// Returns `true` if all of the strings in the slice\n// satisfy the predicate `f`.\nfunc All(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if !f(v) {\n return false\n }\n }\n return true\n}\n\n// Returns a new slice containing all strings in the\n// slice that satisfy the predicate `f`.\nfunc Filter(vs []string, f func(string) bool) []string {\n vsf := make([]string, 0)\n for _, v := range vs {\n if f(v) {\n vsf = append(vsf, v)\n }\n }\n return vsf\n}\n\n// Returns a new slice containing the results of applying\n// the function `f` to each string in the original slice.\nfunc Map(vs []string, f func(string) string) []string {\n vsm := make([]string, len(vs))\n for i, v := range vs {\n vsm[i] = f(v)\n }\n return vsm\n}\n\nfunc main() {\n\n // Here we try out our various collection functions.\n var strs = []string{"peach", "apple", "pear", "plum"}\n\n fmt.Println(Index(strs, "pear"))\n\n fmt.Println(Include(strs, "grape"))\n\n fmt.Println(Any(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(All(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(Filter(strs, func(v string) bool {\n return strings.Contains(v, "e")\n }))\n\n // The above examples all used anonymous functions,\n // but you can also use named functions of the correct\n // type.\n fmt.Println(Map(strs, strings.ToUpper))\n\n}\n'},7548:function(e,t,n){"use strict";n.r(t),t.default='\n\x3c!--Example of comments in HTML--\x3e\n\n\n \x3c!--This is the head section--\x3e\n HTML Sample\n \n\n \x3c!--This is the style tag to set style on elements--\x3e\n \n\n \x3c!--This is the script tag--\x3e\n \n * ```\n *\n * Elements by their ID are made available in browsers on the `window` object.\n * Using a prefix prevents this from being a problem.\n * @property {string} [footnoteLabel='Footnotes']\n * Label to use for the footnotes section.\n * Affects screen reader users.\n * Change it if you’re authoring in a different language.\n * @property {string} [footnoteLabelTagName='h2']\n * HTML tag to use for the footnote label.\n * Can be changed to match your document structure and play well with your choice of css.\n * @property {Properties} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label.\n * A 'sr-only' class is added by default to hide this from sighted users.\n * Change it to make the label visible, or add classes for other purposes.\n * @property {string} [footnoteBackLabel='Back to content']\n * Label to use from backreferences back to their footnote call.\n * Affects screen reader users.\n * Change it if you’re authoring in a different language.\n * @property {Handlers} [handlers]\n * Object mapping mdast nodes to functions handling them\n * @property {Array} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast\n * @property {Handler} [unknownHandler]\n * Handler for all unknown nodes.\n *\n * @typedef {Record} Handlers\n * Map of node types to handlers\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} H\n * Handle context\n */\n\nimport {u} from 'unist-builder'\nimport {visit} from 'unist-util-visit'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {one} from './traverse.js'\nimport {footer} from './footer.js'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Turn mdast into hast.\n *\n * @param {MdastNode} tree\n * mdast node.\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {H}\n * `h` function.\n */\nfunction factory(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Record} */\n const footnoteById = {}\n\n h.dangerous = dangerous\n h.clobberPrefix =\n settings.clobberPrefix === undefined || settings.clobberPrefix === null\n ? 'user-content-'\n : settings.clobberPrefix\n h.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n h.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'\n h.footnoteLabelProperties = settings.footnoteLabelProperties || {\n className: ['sr-only']\n }\n h.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n /** @type {Array} */\n h.footnoteOrder = []\n /** @type {Record} */\n h.footnoteCounts = {}\n h.augment = augment\n h.handlers = {...handlers, ...settings.handlers}\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return h\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n *\n * @param {(NodeWithData|PositionLike)?} left\n * @param {Content} right\n * @returns {Content}\n */\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {Data} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n // @ts-expect-error: fine.\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n}\n\n/**\n * Transform `tree` (an mdast node) to a hast node.\n *\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {HastNode|null|undefined} hast node\n */\nexport function toHast(tree, options) {\n const h = factory(tree, options)\n const node = one(h, tree, null)\n const foot = footer(h)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push(u('text', '\\n'), foot)\n }\n\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n\nexport {handlers as defaultHandlers} from './handlers/index.js'\n","/**\n * @typedef {Object} PointLike\n * @property {number} [line]\n * @property {number} [column]\n * @property {number} [offset]\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\n/**\n * Check if `node` is *generated*.\n *\n * @param {NodeLike} [node]\n * @returns {boolean}\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('./index.js').H} H\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\nimport {wrap} from './wrap.js'\n\n/**\n * @param {H} h\n * @returns {Element|null}\n */\nexport function footer(h) {\n let index = -1\n /** @type {Array} */\n const listItems = []\n\n while (++index < h.footnoteOrder.length) {\n const def = h.footnoteById[h.footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n const content = all(h, def)\n const id = String(def.identifier)\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n\n while (++referenceIndex <= h.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n h.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: h.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: h.clobberPrefix + 'fn-' + safeId},\n children: wrap(content, true)\n }\n\n if (def.position) {\n listItem.position = def.position\n }\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: h.footnoteLabelTagName,\n properties: {\n ...JSON.parse(JSON.stringify(h.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [u('text', h.footnoteLabel)]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","import {visit} from 'unist-util-visit'\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean|undefined}\n *\n * @typedef Options\n * @property {Array} [allowedElements]\n * @property {Array} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @type {import('unified').Plugin<[Options], Root>}\n */\nexport default function rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n if (\n options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ) {\n return (tree) => {\n visit(tree, 'element', (node, index, parent_) => {\n const parent = /** @type {Element|Root} */ (parent_)\n /** @type {boolean|undefined} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement && typeof index === 'number') {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove && typeof index === 'number') {\n if (options.unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n\n return undefined\n })\n }\n }\n}\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nexport function uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","/**\n * @param {unknown} thing\n * @returns {boolean}\n */\nexport function whitespace(thing) {\n /** @type {string} */\n var value =\n // @ts-ignore looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-ignore looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See .\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","/**\n * @template T\n * @typedef {import('react').ComponentType} ComponentType\n */\n\n/**\n * @template T\n * @typedef {import('react').ComponentPropsWithoutRef} ComponentPropsWithoutRef\n */\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('./complex-types').ReactMarkdownProps} ReactMarkdownProps\n *\n * @typedef Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef Context\n * @property {Options} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array} children\n * @param {string?} title\n * @returns {TransformLinkTargetType|undefined}\n *\n * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps\n * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps\n * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps\n * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps\n * @typedef {ComponentPropsWithoutRef<'td'> & ReactMarkdownProps & {style?: Record, isHeader: false}} TableDataCellProps\n * @typedef {ComponentPropsWithoutRef<'th'> & ReactMarkdownProps & {style?: Record, isHeader: true}} TableHeaderCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType} CodeComponent\n * @typedef {ComponentType} HeadingComponent\n * @typedef {ComponentType} LiComponent\n * @typedef {ComponentType} OrderedListComponent\n * @typedef {ComponentType} TableDataCellComponent\n * @typedef {ComponentType} TableHeaderCellComponent\n * @typedef {ComponentType} TableRowComponent\n * @typedef {ComponentType} UnorderedListComponent\n *\n * @typedef SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableDataCellComponent|ReactMarkdownNames} td\n * @property {TableHeaderCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial & SpecialComponents>} Components\n *\n * @typedef Options\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {null|false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nimport React from 'react'\nimport ReactIs from 'react-is'\nimport {whitespace} from 'hast-util-whitespace'\nimport {svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nexport function childrenToReact(context, node) {\n /** @type {Array} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we drop it.\n // See: .\n // See: .\n // See: .\n // See: .\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n !whitespace(child)\n ) {\n children.push(child.value)\n }\n } else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-expect-error assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Record} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n if (node.properties) {\n for (property in node.properties) {\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the position interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = [\n name,\n position.start.line,\n position.start.column,\n index\n ].join('-')\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? options.linkTarget(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n : options.linkTarget\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (\n !basic &&\n name === 'code' &&\n parent.type === 'element' &&\n parent.tagName !== 'pre'\n ) {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = Number.parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n String(properties.src || ''),\n String(properties.alt || ''),\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (!basic && name === 'li' && parent.type === 'element') {\n const input = getInputElement(node)\n properties.checked =\n input && input.properties ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-expect-error assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr' && parent.type === 'element') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Record} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (Array.isArray(result)) {\n result = info.commaSeparated ? commas(result) : spaces(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space && info.property) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else if (info.attribute) {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Record}\n */\nfunction parseStyle(value) {\n /** @type {Record} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map(String)\n .join('')\n}\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').Options} FilterOptions\n * @typedef {import('./ast-to-react.js').Options} TransformOptions\n *\n * @typedef CoreOptions\n * @property {string} children\n *\n * @typedef PluginOptions\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]\n *\n * @typedef LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n *\n * @typedef Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\nimport React from 'react'\nimport {VFile} from 'vfile'\nimport {unified} from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport PropTypes from 'prop-types'\nimport {html} from 'property-information'\nimport rehypeFilter from './rehype-filter.js'\nimport {uriTransformer} from './uri-transformer.js'\nimport {childrenToReact} from './ast-to-react.js'\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {Record} */\nconst deprecated = {\n plugins: {to: 'plugins', id: 'change-plugins-to-remarkplugins'},\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * React component to render markdown.\n *\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nexport function ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(remarkParse)\n .use(options.remarkPlugins || [])\n .use(remarkRehype, {\n ...options.remarkRehypeOptions,\n allowDangerousHtml: true\n })\n .use(options.rehypePlugins || [])\n .use(rehypeFilter, options)\n\n const file = new VFile()\n\n if (typeof options.children === 'string') {\n file.value = options.children\n } else if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.defaultProps = {transformLinkUri: uriTransformer}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiControl,\n asciiDigit,\n markdownLineEndingOrSpace,\n markdownLineEnding,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nconst www = {\n tokenize: tokenizeWww,\n partial: true\n}\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n}\nconst path = {\n tokenize: tokenizePath,\n partial: true\n}\nconst punctuation = {\n tokenize: tokenizePunctuation,\n partial: true\n}\nconst namedCharacterReference = {\n tokenize: tokenizeNamedCharacterReference,\n partial: true\n}\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n}\nconst httpAutolink = {\n tokenize: tokenizeHttpAutolink,\n previous: previousHttp\n}\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n}\n/** @type {ConstructRecord} */\n\nconst text = {}\n/** @type {Extension} */\n\nexport const gfmAutolinkLiteral = {\n text\n}\nlet code = 48 // Add alphanumerics.\n\nwhile (code < 123) {\n text[code] = emailAutolink\n code++\n if (code === 58) code = 65\n else if (code === 91) code = 97\n}\n\ntext[43] = emailAutolink\ntext[45] = emailAutolink\ntext[46] = emailAutolink\ntext[95] = emailAutolink\ntext[72] = [emailAutolink, httpAutolink]\ntext[104] = [emailAutolink, httpAutolink]\ntext[87] = [emailAutolink, wwwAutolink]\ntext[119] = [emailAutolink, wwwAutolink]\n/** @type {Tokenizer} */\n\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this\n /** @type {boolean} */\n\n let hasDot\n /** @type {boolean|undefined} */\n\n let hasDigitInLastSegment\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n !gfmAtext(code) ||\n !previousEmail(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkEmail')\n return atext(code)\n }\n /** @type {State} */\n\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code)\n return atext\n }\n\n if (code === 64) {\n effects.consume(code)\n return label\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (code === 46) {\n return effects.check(punctuation, done, dotContinuation)(code)\n }\n\n if (code === 45 || code === 95) {\n return effects.check(punctuation, nok, dashOrUnderscoreContinuation)(code)\n }\n\n if (asciiAlphanumeric(code)) {\n if (!hasDigitInLastSegment && asciiDigit(code)) {\n hasDigitInLastSegment = true\n }\n\n effects.consume(code)\n return label\n }\n\n return done(code)\n }\n /** @type {State} */\n\n function dotContinuation(code) {\n effects.consume(code)\n hasDot = true\n hasDigitInLastSegment = undefined\n return label\n }\n /** @type {State} */\n\n function dashOrUnderscoreContinuation(code) {\n effects.consume(code)\n return afterDashOrUnderscore\n }\n /** @type {State} */\n\n function afterDashOrUnderscore(code) {\n if (code === 46) {\n return effects.check(punctuation, nok, dotContinuation)(code)\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (hasDot && !hasDigitInLastSegment) {\n effects.exit('literalAutolinkEmail')\n effects.exit('literalAutolink')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 87 && code !== 119) ||\n !previousWww(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkWww') // For `www.` we check instead of attempt, because when it matches, GH\n // treats it as part of a domain (yes, it says a valid domain must come\n // after `www.`, but that’s not how it’s implemented by them).\n\n return effects.check(\n www,\n effects.attempt(domain, effects.attempt(path, done), nok),\n nok\n )(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkWww')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHttpAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 72 && code !== 104) ||\n !previousHttp(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkHttp')\n effects.consume(code)\n return t1\n }\n /** @type {State} */\n\n function t1(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return t2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function t2(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return p\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function p(code) {\n if (code === 80 || code === 112) {\n effects.consume(code)\n return s\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function s(code) {\n if (code === 83 || code === 115) {\n effects.consume(code)\n return colon\n }\n\n return colon(code)\n }\n /** @type {State} */\n\n function colon(code) {\n if (code === 58) {\n effects.consume(code)\n return slash1\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash1(code) {\n if (code === 47) {\n effects.consume(code)\n return slash2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash2(code) {\n if (code === 47) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)\n ? nok(code)\n : effects.attempt(domain, effects.attempt(path, done), nok)(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkHttp')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWww(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return w2\n }\n /** @type {State} */\n\n function w2(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return w3\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function w3(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return dot\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function dot(code) {\n if (code === 46) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? nok(code) : ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean|undefined} */\n let hasUnderscoreInLastSegment\n /** @type {boolean|undefined} */\n\n let hasUnderscoreInLastLastSegment\n return domain\n /** @type {State} */\n\n function domain(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n done,\n punctuationContinuation\n )(code)\n }\n\n if (code === 46 || code === 95) {\n return effects.check(punctuation, done, punctuationContinuation)(code)\n } // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n\n if (\n code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n (code !== 45 && unicodePunctuation(code))\n ) {\n return done(code)\n }\n\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function punctuationContinuation(code) {\n if (code === 46) {\n hasUnderscoreInLastLastSegment = hasUnderscoreInLastSegment\n hasUnderscoreInLastSegment = undefined\n effects.consume(code)\n return domain\n }\n\n if (code === 95) hasUnderscoreInLastSegment = true\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function done(code) {\n if (!hasUnderscoreInLastLastSegment && !hasUnderscoreInLastSegment) {\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePath(effects, ok) {\n let balance = 0\n return inPath\n /** @type {State} */\n\n function inPath(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n ok,\n continuedPunctuation\n )(code)\n }\n\n if (code === 40) {\n balance++\n }\n\n if (code === 41) {\n return effects.check(\n punctuation,\n parenAtPathEnd,\n continuedPunctuation\n )(code)\n }\n\n if (pathEnd(code)) {\n return ok(code)\n }\n\n if (trailingPunctuation(code)) {\n return effects.check(punctuation, ok, continuedPunctuation)(code)\n }\n\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function continuedPunctuation(code) {\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function parenAtPathEnd(code) {\n balance--\n return balance < 0 ? ok(code) : continuedPunctuation(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNamedCharacterReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return inside\n }\n\n if (code === 59) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n // If the named character reference is followed by the end of the path, it’s\n // not continued punctuation.\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePunctuation(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return after\n }\n /** @type {State} */\n\n function after(code) {\n // Check the next.\n if (trailingPunctuation(code)) {\n effects.consume(code)\n return after\n } // If the punctuation marker is followed by the end of the path, it’s not\n // continued punctuation.\n\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction trailingPunctuation(code) {\n return (\n code === 33 ||\n code === 34 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 60 ||\n code === 63 ||\n code === 95 ||\n code === 126\n )\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction pathEnd(code) {\n return code === null || code === 60 || markdownLineEndingOrSpace(code)\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction gfmAtext(code) {\n return (\n code === 43 ||\n code === 45 ||\n code === 46 ||\n code === 95 ||\n asciiAlphanumeric(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousWww(code) {\n return (\n code === null ||\n code === 40 ||\n code === 42 ||\n code === 95 ||\n code === 126 ||\n markdownLineEndingOrSpace(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousHttp(code) {\n return code === null || !asciiAlpha(code)\n}\n/** @type {Previous} */\n\nfunction previousEmail(code) {\n return code !== 47 && previousHttp(code)\n}\n/**\n * @param {Array} events\n * @returns {boolean}\n */\n\nfunction previousUnbalanced(events) {\n let index = events.length\n let result = false\n\n while (index--) {\n const token = events[index][1]\n\n if (\n (token.type === 'labelLink' || token.type === 'labelImage') &&\n !token._balanced\n ) {\n result = true\n break\n } // @ts-expect-error If we’ve seen this token, and it was marked as not\n // having any unbalanced bracket before it, we can exit.\n\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false\n break\n }\n }\n\n if (events.length > 0 && !result) {\n // @ts-expect-error Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true\n }\n\n return result\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @returns {Extension}\n */\n\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n const token = self.events[index][1]\n\n if (token.type === 'labelImage') {\n labelStart = token\n break\n } // Exit if we’ve walked far enough.\n\n if (\n token.type === 'gfmFootnoteCall' ||\n token.type === 'labelLink' ||\n token.type === 'label' ||\n token.type === 'image' ||\n token.type === 'link'\n ) {\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n\n if (id.charCodeAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n/** @type {Resolver} */\n\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token|undefined} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n if (\n events[index][1].type === 'labelImage' &&\n events[index][0] === 'enter'\n ) {\n labelStart = events[index][1]\n break\n }\n }\n\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker' // The whole (without `!`):\n\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // The `^` marker\n\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n } // Increment the end 1 character.\n\n marker.end.column++\n marker.end.offset++\n marker.end._bufferIndex++\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n }\n const chunk = {\n type: 'chunkString',\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n }\n /** @type {Array} */\n\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context], // The `[`\n events[index + 3],\n events[index + 4], // The `^`.\n ['enter', marker, context],\n ['exit', marker, context], // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context], // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n ['exit', call, context]\n ]\n events.splice(index, events.length - index + 1, ...replacement)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteCall')\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return callStart\n }\n /** @type {State} */\n\n function callStart(code) {\n if (code !== 94) return nok(code)\n effects.enter('gfmFootnoteCallMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallMarker')\n effects.enter('gfmFootnoteCallString')\n effects.enter('chunkString').contentType = 'string'\n return callData\n }\n /** @type {State} */\n\n function callData(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size++ > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n effects.exit('chunkString')\n token = effects.exit('gfmFootnoteCallString')\n return defined.includes(normalizeIdentifier(self.sliceSerialize(token)))\n ? end(code)\n : nok(code)\n }\n\n effects.consume(code)\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n return code === 92 ? callEscape : callData\n }\n /** @type {State} */\n\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return callData\n }\n\n return callData(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n\n let identifier\n let size = 0\n /** @type {boolean|undefined} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true\n effects.enter('gfmFootnoteDefinitionLabel')\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n return labelStart\n }\n /** @type {State} */\n\n function labelStart(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n return atBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n token = effects.exit('gfmFootnoteDefinitionLabelString')\n identifier = normalizeIdentifier(self.sliceSerialize(token))\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n effects.exit('gfmFootnoteDefinitionLabel')\n return labelAfter\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n size++\n return atBreak\n }\n\n effects.enter('chunkString').contentType = 'string'\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n markdownLineEnding(code) ||\n code === 91 ||\n code === 93 ||\n size > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n\n return factorySpace(effects, done, 'gfmFootnoteDefinitionWhitespace')\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok))\n}\n/** @type {Exiter} */\n\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'gfmFootnoteDefinitionIndent',\n 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'gfmFootnoteDefinitionIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === 4\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n/**\n * @typedef Options\n * Configuration (optional).\n * @property {boolean} [singleTilde=true]\n * Whether to support strikethrough with a single tilde (`boolean`, default:\n * `true`).\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfmStrikethrough(options = {}) {\n let single = options.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n\n if (single === null || single === undefined) {\n single = true\n }\n\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n\n function resolveAllStrikethrough(events, context) {\n let index = -1 // Walk through all events.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'strikethroughSequenceTemporary' &&\n events[index][1]._close\n ) {\n let open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'strikethroughSequenceTemporary' &&\n events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset ===\n events[open][1].end.offset - events[open][1].start.offset\n ) {\n events[index][1].type = 'strikethroughSequence'\n events[open][1].type = 'strikethroughSequence'\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n }\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n } // Opening.\n\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ] // Between.\n\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n splice(nextEvents, nextEvents.length, 0, [\n ['exit', text, context],\n ['enter', events[index][1], context],\n ['exit', events[index][1], context],\n ['exit', strikethrough, context]\n ])\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - 2\n break\n }\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n }\n /** @type {Tokenizer} */\n\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous\n const events = this.events\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n /** @type {State} */\n\n function more(code) {\n const before = classifyCharacter(previous)\n\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code)\n effects.consume(code)\n size++\n return more\n }\n\n if (size < 2 && !single) return nok(code)\n const token = effects.exit('strikethroughSequenceTemporary')\n const after = classifyCharacter(code)\n token._open = !after || (after === 2 && Boolean(before))\n token._close = !before || (before === 2 && Boolean(after))\n return ok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n/**\n * @typedef {'left'|'center'|'right'|'none'} Align\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Extension} */\nexport const gfmTable = {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolve: resolveTable\n }\n }\n}\nconst nextPrefixedOrBlank = {\n tokenize: tokenizeNextPrefixedOrBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1\n /** @type {boolean|undefined} */\n\n let inHead\n /** @type {boolean|undefined} */\n\n let inDelimiterRow\n /** @type {boolean|undefined} */\n\n let inRow\n /** @type {number|undefined} */\n\n let contentStart\n /** @type {number|undefined} */\n\n let contentEnd\n /** @type {number|undefined} */\n\n let cellStart\n /** @type {boolean|undefined} */\n\n let seenCellInRow\n\n while (++index < events.length) {\n const token = events[index][1]\n\n if (inRow) {\n if (token.type === 'temporaryTableCellContent') {\n contentStart = contentStart || index\n contentEnd = index\n }\n\n if (\n // Combine separate content parts into one.\n (token.type === 'tableCellDivider' || token.type === 'tableRow') &&\n contentEnd\n ) {\n const content = {\n type: 'tableContent',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n /** @type {Token} */\n\n const text = {\n type: 'chunkText',\n start: content.start,\n end: content.end,\n // @ts-expect-error It’s fine.\n contentType: 'text'\n }\n events.splice(\n contentStart,\n contentEnd - contentStart + 1,\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n )\n index -= contentEnd - contentStart - 3\n contentStart = undefined\n contentEnd = undefined\n }\n }\n\n if (\n events[index][0] === 'exit' &&\n cellStart !== undefined &&\n cellStart + (seenCellInRow ? 0 : 1) < index &&\n (token.type === 'tableCellDivider' ||\n (token.type === 'tableRow' &&\n (cellStart + 3 < index ||\n events[cellStart][1].type !== 'whitespace')))\n ) {\n const cell = {\n type: inDelimiterRow\n ? 'tableDelimiter'\n : inHead\n ? 'tableHeader'\n : 'tableData',\n start: events[cellStart][1].start,\n end: events[index][1].end\n }\n events.splice(index + (token.type === 'tableCellDivider' ? 1 : 0), 0, [\n 'exit',\n cell,\n context\n ])\n events.splice(cellStart, 0, ['enter', cell, context])\n index += 2\n cellStart = index + 1\n seenCellInRow = true\n }\n\n if (token.type === 'tableRow') {\n inRow = events[index][0] === 'enter'\n\n if (inRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableDelimiterRow') {\n inDelimiterRow = events[index][0] === 'enter'\n\n if (inDelimiterRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableHead') {\n inHead = events[index][0] === 'enter'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTable(effects, ok, nok) {\n const self = this\n /** @type {Array} */\n\n const align = []\n let tableHeaderCount = 0\n /** @type {boolean|undefined} */\n\n let seenDelimiter\n /** @type {boolean|undefined} */\n\n let hasDash\n return start\n /** @type {State} */\n\n function start(code) {\n // @ts-expect-error Custom.\n effects.enter('table')._align = align\n effects.enter('tableHead')\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerHead(code)\n }\n\n tableHeaderCount++\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function cellDividerHead(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n seenDelimiter = true\n return cellBreakHead\n }\n /** @type {State} */\n\n function cellBreakHead(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndHead(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceHead\n }\n\n if (seenDelimiter) {\n seenDelimiter = undefined\n tableHeaderCount++\n }\n\n if (code === 124) {\n return cellDividerHead(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function inWhitespaceHead(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceHead\n }\n\n effects.exit('whitespace')\n return cellBreakHead(code)\n }\n /** @type {State} */\n\n function inCellContentHead(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakHead(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeHead : inCellContentHead\n }\n /** @type {State} */\n\n function inCellContentEscapeHead(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentHead\n } // Anything else.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function atRowEndHead(code) {\n if (code === null) {\n return nok(code)\n }\n\n effects.exit('tableRow')\n effects.exit('tableHead')\n const originalInterrupt = self.interrupt\n self.interrupt = true\n return effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n function (code) {\n self.interrupt = originalInterrupt\n effects.enter('tableDelimiterRow')\n return atDelimiterRowBreak(code)\n },\n function (code) {\n self.interrupt = originalInterrupt\n return nok(code)\n }\n )(code)\n }\n /** @type {State} */\n\n function atDelimiterRowBreak(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n align.push('none')\n return inFillerDelimiter\n }\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align.push('left')\n return afterLeftAlignment\n } // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inWhitespaceDelimiter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n effects.exit('whitespace')\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function inFillerDelimiter(code) {\n if (code === 45) {\n effects.consume(code)\n return inFillerDelimiter\n }\n\n effects.exit('tableDelimiterFiller')\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align[align.length - 1] =\n align[align.length - 1] === 'left' ? 'center' : 'right'\n return afterRightAlignment\n }\n\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function afterLeftAlignment(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n return inFillerDelimiter\n } // Anything else is not ok.\n\n return nok(code)\n }\n /** @type {State} */\n\n function afterRightAlignment(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n } // `|`\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function rowEndDelimiter(code) {\n effects.exit('tableDelimiterRow') // Exit if there was no dash at all, or if the header cell count is not the\n // delimiter cell count.\n\n if (!hasDash || tableHeaderCount !== align.length) {\n return nok(code)\n }\n\n if (code === null) {\n return tableClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, bodyStart, 'linePrefix', 4),\n tableClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableClose(code) {\n effects.exit('table')\n return ok(code)\n }\n /** @type {State} */\n\n function bodyStart(code) {\n effects.enter('tableBody')\n return rowStartBody(code)\n }\n /** @type {State} */\n\n function rowStartBody(code) {\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerBody(code)\n }\n\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function cellDividerBody(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return cellBreakBody\n }\n /** @type {State} */\n\n function cellBreakBody(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndBody(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceBody\n } // `|`\n\n if (code === 124) {\n return cellDividerBody(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function inWhitespaceBody(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceBody\n }\n\n effects.exit('whitespace')\n return cellBreakBody(code)\n }\n /** @type {State} */\n\n function inCellContentBody(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakBody(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeBody : inCellContentBody\n }\n /** @type {State} */\n\n function inCellContentEscapeBody(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentBody\n } // Anything else.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function atRowEndBody(code) {\n effects.exit('tableRow')\n\n if (code === null) {\n return tableBodyClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableBodyClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, rowStartBody, 'linePrefix', 4),\n tableBodyClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableBodyClose(code) {\n effects.exit('tableBody')\n return tableClose(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeRowEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n // Blank or interrupting line.\n if (\n self.parser.lazy[self.now().line] ||\n code === null ||\n markdownLineEnding(code)\n ) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1] // Indented code can interrupt delimiter and body rows.\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return nok(code)\n }\n\n self._gfmTableDynamicInterruptHack = true\n return effects.check(\n self.parser.constructs.flow,\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return nok(code)\n },\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return ok(code)\n }\n )(code)\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextPrefixedOrBlank(effects, ok, nok) {\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n // This is a check, so we don’t care about tokens, but we open a bogus one\n // so we’re valid.\n effects.enter('check') // EOL.\n\n effects.consume(code)\n return whitespace\n }\n /** @type {State} */\n\n function whitespace(code) {\n if (code === -1 || code === 32) {\n effects.consume(code)\n size++\n return size === 4 ? ok : whitespace\n } // EOF or whitespace\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n return ok(code)\n } // Anything else.\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\nexport const gfmTaskListItem = {\n text: {\n [91]: tasklistCheck\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n /** @type {State} */\n\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code)\n }\n\n effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n // To match how GH works in comments, use `markdownSpace` (`[ \\t]`) instead\n // of `markdownLineEndingOrSpace` (`[ \\t\\r\\n]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n effects.exit('taskListCheck')\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction spaceThenNonSpace(effects, ok, nok) {\n const self = this\n return factorySpace(effects, after, 'whitespace')\n /** @type {State} */\n\n function after(code) {\n const tail = self.events[self.events.length - 1]\n return (\n // We either found spaces…\n ((tail && tail[1].type === 'whitespace') || // …or it was followed by a line ending, in which case, there has to be\n // non-whitespace after that line ending, because otherwise we’d get an\n // EOF as the content is closed with blank lines.\n markdownLineEnding(code)) &&\n code !== null\n ? ok(code)\n : nok(code)\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Support GFM or markdown on github.com.\n *\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral,\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable,\n gfmTaskListItem\n ])\n}\n\n/**\n * Support to compile GFM to HTML.\n *\n * @param {HtmlOptions} [options]\n * @returns {HtmlExtension}\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml,\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml,\n gfmTableHtml,\n gfmTagfilterHtml,\n gfmTaskListItemHtml\n ])\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {Test} [ignore]\n * `unist-util-is` test used to assert parents\n *\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Text} Text\n * @typedef {Content|Root} Node\n * @typedef {Exclude, Root>} Parent\n *\n * @typedef {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n *\n * @typedef RegExpMatchObject\n * @property {number} index\n * @property {string} input\n * @property {[Root, ...Array, Text]} stack\n *\n * @typedef {string|RegExp} Find\n * @typedef {string|ReplaceFunction} Replace\n *\n * @typedef {[Find, Replace]} FindAndReplaceTuple\n * @typedef {Record} FindAndReplaceSchema\n * @typedef {Array} FindAndReplaceList\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * @typedef {Array} Pairs\n */\n\n/**\n * @callback ReplaceFunction\n * @param {...any} parameters\n * @returns {Array|PhrasingContent|string|false|undefined|null}\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param tree mdast tree\n * @param find Value to find and remove. When `string`, escaped and made into a global `RegExp`\n * @param [replace] Value to insert.\n * * When `string`, turned into a Text node.\n * * When `Function`, called with the results of calling `RegExp.exec` as\n * arguments, in which case it can return a single or a list of `Node`,\n * a `string` (which is wrapped in a `Text` node), or `false` to not replace\n * @param [options] Configuration.\n */\nexport const findAndReplace =\n /**\n * @type {(\n * ((tree: Node, find: Find, replace?: Replace, options?: Options) => Node) &\n * ((tree: Node, schema: FindAndReplaceSchema|FindAndReplaceList, options?: Options) => Node)\n * )}\n **/\n (\n /**\n * @param {Node} tree\n * @param {Find|FindAndReplaceSchema|FindAndReplaceList} find\n * @param {Replace|Options} [replace]\n * @param {Options} [options]\n */\n function (tree, find, replace, options) {\n /** @type {Options|undefined} */\n let settings\n /** @type {FindAndReplaceSchema|FindAndReplaceList} */\n let schema\n\n if (typeof find === 'string' || find instanceof RegExp) {\n // @ts-expect-error don’t expect options twice.\n schema = [[find, replace]]\n settings = options\n } else {\n schema = find\n // @ts-expect-error don’t expect replace twice.\n settings = replace\n }\n\n if (!settings) {\n settings = {}\n }\n\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(schema)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n return tree\n\n /** @type {import('unist-util-visit-parents/complex-types').BuildVisitor} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parent|undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = /** @type {Parent} */ (parents[index])\n\n if (\n ignored(\n parent,\n // @ts-expect-error mdast vs. unist parent.\n grandparent ? grandparent.children.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n // @ts-expect-error: stack is fine.\n return handler(node, parents)\n }\n }\n\n /**\n * @param {Text} node\n * @param {[Root, ...Array]} parents\n * @returns {VisitorResult}\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n // @ts-expect-error: TS is wrong, some of these children can be text.\n const index = parent.children.indexOf(node)\n let change = false\n /** @type {Array} */\n let nodes = []\n /** @type {number|undefined} */\n let position\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n if (value !== false) {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n }\n )\n\n/**\n * @param {FindAndReplaceSchema|FindAndReplaceList} schema\n * @returns {Pairs}\n */\nfunction toPairs(schema) {\n /** @type {Pairs} */\n const result = []\n\n if (typeof schema !== 'object') {\n throw new TypeError('Expected array or object as schema')\n }\n\n if (Array.isArray(schema)) {\n let index = -1\n\n while (++index < schema.length) {\n result.push([\n toExpression(schema[index][0]),\n toFunction(schema[index][1])\n ])\n }\n } else {\n /** @type {string} */\n let key\n\n for (key in schema) {\n if (own.call(schema, key)) {\n result.push([toExpression(key), toFunction(schema[key])])\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {Find} find\n * @returns {RegExp}\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * @param {Replace} replace\n * @returns {ReplaceFunction}\n */\nfunction toFunction(replace) {\n return typeof replace === 'function' ? replace : () => replace\n}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n * @typedef {import('mdast-util-find-and-replace').PhrasingContent} PhrasingContent\n */\n\nimport {ccount} from 'ccount'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\n\nconst inConstruct = 'phrasing'\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/** @type {FromMarkdownExtension} */\nexport const gfmAutolinkLiteralFromMarkdown = {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmAutolinkLiteralToMarkdown = {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {character: ':', before: '[ps]', after: '\\\\/', inConstruct, notInConstruct}\n ]\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = /** @type {Link} */ (this.stack[this.stack.length - 1])\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {PhrasingContent} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[_-\\d]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string|undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n /** @type {number} */\n let closingParenIndex\n /** @type {number} */\n let openingParens\n /** @type {number} */\n let closingParens\n /** @type {string|undefined} */\n let trail\n\n if (trailExec) {\n url = url.slice(0, trailExec.index)\n trail = trailExec[0]\n closingParenIndex = trail.indexOf(')')\n openingParens = ccount(url, '(')\n closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","/**\n * @typedef {import('mdast').Association} Association\n */\n\nimport {decodeString} from 'micromark-util-decode-string'\n\n/**\n * The `label` of an association is the string value: character escapes and\n * references work, and casing is intact.\n * The `identifier` is used to match one association to another: controversially,\n * character escapes and references don’t work in this matching: `©` does\n * not match `©`, and `\\+` does not match `+`.\n * But casing is ignored (and whitespace) is trimmed and collapsed: ` A\\nb`\n * matches `a b`.\n * So, we do prefer the label when figuring out how we’re going to serialize:\n * it has whitespace, casing, and we can ignore most useless character escapes\n * and all character references.\n *\n * @param {Association} node\n * @returns {string}\n */\nexport function association(node) {\n if (node.label || !node.identifier) {\n return node.label || ''\n }\n\n return decodeString(node.identifier)\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\n/**\n * Functions to track output positions.\n * This info isn’t used yet but suchs functionality allows line wrapping,\n * and theoretically source maps (though, is there practical use in that?).\n *\n * @param {TrackFields} options_\n */\nexport function track(options_) {\n // Defaults are used to prevent crashes when older utilities somehow activate\n // this code.\n /* c8 ignore next 5 */\n const options = options_ || {}\n const now = options.now || {}\n let lineShift = options.lineShift || 0\n let line = now.line || 1\n let column = now.column || 1\n\n return {move, current, shift}\n\n /**\n * Get the current tracked info.\n *\n * @returns {{now: Point, lineShift: number}}\n */\n function current() {\n return {now: {line, column}, lineShift}\n }\n\n /**\n * Define an increased line shift (the typical indent for lines).\n *\n * @param {number} value\n */\n function shift(value) {\n lineShift += value\n }\n\n /**\n * Move past a string.\n *\n * @param {string} value\n * @returns {string}\n */\n function move(value = '') {\n const chunks = value.split(/\\r?\\n|\\r/g)\n const tail = chunks[chunks.length - 1]\n line += chunks.length - 1\n column =\n chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift\n return value\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Join} Join\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {TrackFields} safeOptions\n * @returns {string}\n */\nexport function containerFlow(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n const tracker = track(safeOptions)\n /** @type {Array} */\n const results = []\n let index = -1\n\n indexStack.push(-1)\n\n while (++index < children.length) {\n const child = children[index]\n\n indexStack[indexStack.length - 1] = index\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n before: '\\n',\n after: '\\n',\n ...tracker.current()\n })\n )\n )\n\n if (child.type !== 'list') {\n context.bulletLastUsed = undefined\n }\n\n if (index < children.length - 1) {\n results.push(tracker.move(between(child, children[index + 1])))\n }\n }\n\n indexStack.pop()\n\n return results.join('')\n\n /**\n * @param {Node} left\n * @param {Node} right\n * @returns {string}\n */\n function between(left, right) {\n let index = context.join.length\n\n while (index--) {\n const result = context.join[index](left, right, parent, context)\n\n if (result === true || result === 1) {\n break\n }\n\n if (typeof result === 'number') {\n return '\\n'.repeat(1 + result)\n }\n\n if (result === false) {\n return '\\n\\n\\n\\n'\n }\n }\n\n return '\\n\\n'\n }\n}\n","/**\n * @callback Map\n * @param {string} value\n * @param {number} line\n * @param {boolean} blank\n * @returns {string}\n */\n\nconst eol = /\\r?\\n|\\r/g\n\n/**\n * @param {string} value\n * @param {Map} map\n * @returns {string}\n */\nexport function indentLines(value, map) {\n /** @type {Array} */\n const result = []\n let start = 0\n let line = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = eol.exec(value))) {\n one(value.slice(start, match.index))\n result.push(match[0])\n start = match.index + match[0].length\n line++\n }\n\n one(value.slice(start))\n\n return result.join('')\n\n /**\n * @param {string} value\n */\n function one(value) {\n result.push(map(value, line, !value))\n }\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Unsafe} pattern\n * @returns {RegExp}\n */\nexport function patternCompile(pattern) {\n if (!pattern._compiled) {\n const before =\n (pattern.atBreak ? '[\\\\r\\\\n][\\\\t ]*' : '') +\n (pattern.before ? '(?:' + pattern.before + ')' : '')\n\n pattern._compiled = new RegExp(\n (before ? '(' + before + ')' : '') +\n (/[|\\\\{}()[\\]^$+*?.-]/.test(pattern.character) ? '\\\\' : '') +\n pattern.character +\n (pattern.after ? '(?:' + pattern.after + ')' : ''),\n 'g'\n )\n }\n\n return pattern._compiled\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Array} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (!list) {\n return none\n }\n\n if (typeof list === 'string') {\n list = [list]\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n */\n\nimport {patternCompile} from './pattern-compile.js'\nimport {patternInScope} from './pattern-in-scope.js'\n\n/**\n * @param {Context} context\n * @param {string|null|undefined} input\n * @param {SafeOptions & {encode?: Array}} config\n * @returns {string}\n */\nexport function safe(context, input, config) {\n const value = (config.before || '') + (input || '') + (config.after || '')\n /** @type {Array} */\n const positions = []\n /** @type {Array} */\n const result = []\n /** @type {Record} */\n const infos = {}\n let index = -1\n\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n\n if (!patternInScope(context.stack, pattern)) {\n continue\n }\n\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(value))) {\n const before = 'before' in pattern || Boolean(pattern.atBreak)\n const after = 'after' in pattern\n const position = match.index + (before ? match[1].length : 0)\n\n if (positions.includes(position)) {\n if (infos[position].before && !before) {\n infos[position].before = false\n }\n\n if (infos[position].after && !after) {\n infos[position].after = false\n }\n } else {\n positions.push(position)\n infos[position] = {before, after}\n }\n }\n }\n\n positions.sort(numerical)\n\n let start = config.before ? config.before.length : 0\n const end = value.length - (config.after ? config.after.length : 0)\n index = -1\n\n while (++index < positions.length) {\n const position = positions[index]\n\n // Character before or after matched:\n if (position < start || position >= end) {\n continue\n }\n\n // If this character is supposed to be escaped because it has a condition on\n // the next character, and the next character is definitly being escaped,\n // then skip this escape.\n if (\n (position + 1 < end &&\n positions[index + 1] === position + 1 &&\n infos[position].after &&\n !infos[position + 1].before &&\n !infos[position + 1].after) ||\n (positions[index - 1] === position - 1 &&\n infos[position].before &&\n !infos[position - 1].before &&\n !infos[position - 1].after)\n ) {\n continue\n }\n\n if (start !== position) {\n // If we have to use a character reference, an ampersand would be more\n // correct, but as backslashes only care about punctuation, either will\n // do the trick\n result.push(escapeBackslashes(value.slice(start, position), '\\\\'))\n }\n\n start = position\n\n if (\n /[!-/:-@[-`{-~]/.test(value.charAt(position)) &&\n (!config.encode || !config.encode.includes(value.charAt(position)))\n ) {\n // Character escape.\n result.push('\\\\')\n } else {\n // Character reference.\n result.push(\n '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';'\n )\n start++\n }\n }\n\n result.push(escapeBackslashes(value.slice(start, end), config.after))\n\n return result.join('')\n}\n\n/**\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction numerical(a, b) {\n return a - b\n}\n\n/**\n * @param {string} value\n * @param {string} after\n * @returns {string}\n */\nfunction escapeBackslashes(value, after) {\n const expression = /\\\\(?=[!-/:-@[-`{-~])/g\n /** @type {Array} */\n const positions = []\n /** @type {Array} */\n const results = []\n const whole = value + after\n let index = -1\n let start = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(whole))) {\n positions.push(match.index)\n }\n\n while (++index < positions.length) {\n if (start !== positions[index]) {\n results.push(value.slice(start, positions[index]))\n }\n\n results.push('\\\\')\n start = positions[index]\n }\n\n results.push(value.slice(start))\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Map} Map\n */\n\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {association} from 'mdast-util-to-markdown/lib/util/association.js'\nimport {containerFlow} from 'mdast-util-to-markdown/lib/util/container-flow.js'\nimport {indentLines} from 'mdast-util-to-markdown/lib/util/indent-lines.js'\nimport {safe} from 'mdast-util-to-markdown/lib/util/safe.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/**\n * @returns {FromMarkdownExtension}\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinitionLabelString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinition(token) {\n this.exit(token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCallString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCallString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCall(token) {\n this.exit(token)\n }\n}\n\n/**\n * @returns {ToMarkdownExtension}\n */\nexport function gfmFootnoteToMarkdown() {\n footnoteReference.peek = footnoteReferencePeek\n\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\n function footnoteReference(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteReference')\n const subexit = context.enter('reference')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n }\n\n /** @type {ToMarkdownHandle} */\n function footnoteReferencePeek() {\n return '['\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\n function footnoteDefinition(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteDefinition')\n const subexit = context.enter('label')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n value += tracker.move(\n ']:' + (node.children && node.children.length > 0 ? ' ' : '')\n )\n tracker.shift(4)\n value += tracker.move(\n indentLines(containerFlow(node, context, tracker.current()), map)\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' ') + line\n }\n\n return line\n }\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n * @typedef {import('../types.js').Context} Context\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {SafeOptions} safeOptions\n * @returns {string}\n */\nexport function containerPhrasing(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n /** @type {Array} */\n const results = []\n let index = -1\n let before = safeOptions.before\n\n indexStack.push(-1)\n let tracker = track(safeOptions)\n\n while (++index < children.length) {\n const child = children[index]\n /** @type {string} */\n let after\n\n indexStack[indexStack.length - 1] = index\n\n if (index + 1 < children.length) {\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n let handle = context.handle.handlers[children[index + 1].type]\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, context, {\n before: '',\n after: '',\n ...tracker.current()\n }).charAt(0)\n : ''\n } else {\n after = safeOptions.after\n }\n\n // In some cases, html (text) can be found in phrasing right after an eol.\n // When we’d serialize that, in most cases that would be seen as html\n // (flow).\n // As we can’t escape or so to prevent it from happening, we take a somewhat\n // reasonable approach: replace that eol with a space.\n // See: \n if (\n results.length > 0 &&\n (before === '\\r' || before === '\\n') &&\n child.type === 'html'\n ) {\n results[results.length - 1] = results[results.length - 1].replace(\n /(\\r?\\n|\\r)$/,\n ' '\n )\n before = ' '\n\n // To do: does this work to reset tracker?\n tracker = track(safeOptions)\n tracker.move(results.join(''))\n }\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n ...tracker.current(),\n before,\n after\n })\n )\n )\n\n before = results[results.length - 1].slice(-1)\n }\n\n indexStack.pop()\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmStrikethroughFromMarkdown = {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n}\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethroughs. So they sort of cancel each other out.\n *\n * Note: keep in sync with: \n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\n/** @type {ToMarkdownExtension} */\nexport const gfmStrikethroughToMarkdown = {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n}\n\nhandleDelete.peek = peekDelete\n\n/** @type {FromMarkdownHandle} */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n const exit = context.enter('emphasis')\n let value = tracker.move('~~')\n value += containerPhrasing(node, context, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {patternCompile} from '../util/pattern-compile.js'\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @type {Handle}\n * @param {InlineCode} node\n */\nexport function inlineCode(node, _, context) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @type {Handle}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|ReadonlyArray} [align]\n * One style for all columns, or styles for their respective columns.\n * Each style is either `'l'` (left), `'r'` (right), or `'c'` (center).\n * Other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left.\n * *Only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean} [padding=true]\n * Whether to add a space of padding between delimiters and cells.\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {boolean} [delimiterStart=true]\n * Whether to begin each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean} [delimiterEnd=true]\n * Whether to end each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean} [alignDelimiters=true]\n * Whether to align the delimiters.\n * By default, they are aligned:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {(value: string) => number} [stringLength]\n * Function to detect the length of table cell content.\n * This is used when aligning the delimiters (`|`) between table cells.\n * Full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source.\n * To fix this, you can pass this function, which receives the cell content\n * and returns its “visible” size.\n * Note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n */\n\n/**\n * @typedef {Options} MarkdownTableOptions\n * @todo\n * Remove next major.\n */\n\n/**\n * Generate a markdown ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)) table..\n *\n * @param {ReadonlyArray>} table\n * Table data (matrix of strings).\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {string}\n */\nexport function markdownTable(table, options = {}) {\n const align = (options.align || []).concat()\n const stringLength = options.stringLength || defaultStringLength\n /** @type {Array} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array>} Cells per row. */\n const cellMatrix = []\n /** @type {Array>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n options.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (options.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (options.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n options.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === '') &&\n (options.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (options.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (options.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (options.padding !== false) {\n line.push(' ')\n }\n\n if (\n options.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n options.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string|null|undefined} [value]\n * @returns {string}\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string} value\n * @returns {number}\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * @param {string|null|undefined} value\n * @returns {number}\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n","/**\n * @typedef {import('mdast').AlignType} AlignType\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('markdown-table').MarkdownTableOptions} MarkdownTableOptions\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Context} ToMarkdownContext\n * @typedef {import('mdast-util-to-markdown').SafeOptions} SafeOptions\n *\n * @typedef Options\n * @property {boolean} [tableCellPadding=true]\n * @property {boolean} [tablePipeAlign=true]\n * @property {MarkdownTableOptions['stringLength']} [stringLength]\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {inlineCode} from 'mdast-util-to-markdown/lib/handle/inline-code.js'\nimport {markdownTable} from 'markdown-table'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTableFromMarkdown = {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterTable(token) {\n /** @type {Array<'left'|'right'|'center'|'none'>} */\n // @ts-expect-error: `align` is custom.\n const align = token._align\n this.enter(\n {\n type: 'table',\n align: align.map((d) => (d === 'none' ? null : d)),\n children: []\n },\n token\n )\n this.setData('inTable', true)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitTable(token) {\n this.exit(token)\n this.setData('inTable')\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exit(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/** @type {FromMarkdownHandle} */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.getData('inTable')) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = /** @type {InlineCode} */ (this.stack[this.stack.length - 1])\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n table: handleTable,\n tableRow: handleTableRow,\n tableCell: handleTableCell,\n inlineCode: inlineCodeWithTable\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, context, safeOptions) {\n return serializeData(\n handleTableAsData(node, context, safeOptions),\n // @ts-expect-error: fixed in `markdown-table@3.0.1`.\n node.align\n )\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, context, safeOptions) {\n const row = handleTableRowAsData(node, context, safeOptions)\n // `markdown-table` will always add an align row\n const value = serializeData([row])\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, context, safeOptions) {\n const exit = context.enter('tableCell')\n const subexit = context.enter('phrasing')\n const value = containerPhrasing(node, context, {\n ...safeOptions,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array>} matrix\n * @param {Array} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n alignDelimiters,\n padding,\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array>} */\n const result = []\n const subexit = context.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(\n children[index],\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableRowAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array} */\n const result = []\n const subexit = context.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(\n children[index],\n node,\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, context) {\n let value = inlineCode(node, parent, context)\n\n if (context.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('../util/indent-lines.js').Map} Map\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\nimport {containerFlow} from '../util/container-flow.js'\nimport {indentLines} from '../util/indent-lines.js'\nimport {track} from '../util/track.js'\n\n/**\n * @type {Handle}\n * @param {ListItem} node\n */\nexport function listItem(node, parent, context, safeOptions) {\n const listItemIndent = checkListItemIndent(context)\n let bullet = context.bulletCurrent || checkBullet(context)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (context.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = track(safeOptions)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = context.enter('listItem')\n const value = indentLines(\n containerFlow(node, context, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude}\n */\nexport function checkListItemIndent(context) {\n const style = context.options.listItemIndent || 'tab'\n\n // To do: remove in a major.\n // @ts-expect-error: deprecated.\n if (style === 1 || style === '1') {\n return 'one'\n }\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude}\n */\nexport function checkBullet(context) {\n const marker = context.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {Extract} Parent\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {listItem} from 'mdast-util-to-markdown/lib/handle/list-item.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTaskListItemFromMarkdown = {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmTaskListItemToMarkdown = {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitCheck(token) {\n const node = /** @type {ListItem} */ (this.stack[this.stack.length - 2])\n // We’re always in a paragraph, in a list item.\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = /** @type {Parent} */ (this.stack[this.stack.length - 2])\n const node = /** @type {Paragraph} */ (this.stack[this.stack.length - 1])\n const siblings = parent.children\n const head = node.children[0]\n let index = -1\n /** @type {Paragraph|undefined} */\n let firstParaghraph\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean' &&\n head &&\n head.type === 'text'\n ) {\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, context, safeOptions) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = track(safeOptions)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = listItem(node, parent, context, {\n ...safeOptions,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n","/**\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-gfm-table').Options} Options\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * @returns {Array}\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown,\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown,\n gfmTableFromMarkdown,\n gfmTaskListItemFromMarkdown\n ]\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown,\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown,\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown\n ]\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('micromark-extension-gfm').Options & import('mdast-util-gfm').Options} Options\n */\n\nimport {gfm} from 'micromark-extension-gfm'\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\n\n/**\n * Plugin to support GFM (autolink literals, footnotes, strikethrough, tables, tasklists).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkGfm(options = {}) {\n const data = this.data()\n\n add('micromarkExtensions', gfm(options))\n add('fromMarkdownExtensions', gfmFromMarkdown())\n add('toMarkdownExtensions', gfmToMarkdown(options))\n\n /**\n * @param {string} field\n * @param {unknown} value\n */\n function add(field, value) {\n const list = /** @type {unknown[]} */ (\n // Other extensions\n /* c8 ignore next 2 */\n data[field] ? data[field] : (data[field] = [])\n )\n\n list.push(value)\n }\n}\n","/**\n * @typedef {import('./core.js').HChild} Child\n * @typedef {import('./core.js').HProperties} Properties\n *\n * @typedef {import('./jsx-classic').Element} s.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n */\n\nimport {svg} from 'property-information'\nimport {core} from './core.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\nexport const s = core(svg, 'g', svgCaseSensitiveTagNames)\n","export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","/**\n * Map of web namespaces.\n *\n * @type {Record}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {Parent['children'][number]} Child\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {Child|Root} Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Location} P5Location\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').Node} P5Node\n *\n * @typedef {'html'|'svg'} Space\n *\n * @callback Handler\n * @param {Context} ctx\n * @param {P5Node} node\n * @param {Array.} [children]\n * @returns {Node}\n *\n * @typedef Options\n * @property {Space} [space='html'] Whether the root of the tree is in the `'html'` or `'svg'` space. If an element in with the SVG namespace is found in `ast`, `fromParse5` automatically switches to the SVG space when entering the element, and switches back when leaving\n * @property {VFile} [file] `VFile`, used to add positional information to nodes. If given, the file should have the original HTML source as its contents\n * @property {boolean} [verbose=false] Whether to add extra positional information about starting tags, closing tags, and attributes to elements. Note: not used without `file`\n *\n * @typedef Context\n * @property {Schema} schema\n * @property {VFile|undefined} file\n * @property {boolean|undefined} verbose\n * @property {boolean} location\n */\n\nimport {h, s} from 'hastscript'\nimport {html, svg, find} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n// Handlers.\nconst map = {\n '#document': root,\n '#document-fragment': root,\n '#text': text,\n '#comment': comment,\n '#documentType': doctype\n}\n\n/**\n * Transform Parse5’s AST to a hast tree.\n *\n * @param {P5Node} ast\n * @param {Options|VFile} [options]\n */\nexport function fromParse5(ast, options = {}) {\n /** @type {Options} */\n let settings\n /** @type {VFile|undefined} */\n let file\n\n if (isFile(options)) {\n file = options\n settings = {}\n } else {\n file = options.file\n settings = options\n }\n\n return transform(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n ast\n )\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {P5Node} ast\n * @returns {Node}\n */\nfunction transform(ctx, ast) {\n const schema = ctx.schema\n /** @type {Handler} */\n // @ts-expect-error: index is fine.\n const fn = own.call(map, ast.nodeName) ? map[ast.nodeName] : element\n /** @type {Array.|undefined} */\n let children\n\n // Element.\n if ('tagName' in ast) {\n ctx.schema = ast.namespaceURI === webNamespaces.svg ? svg : html\n }\n\n if ('childNodes' in ast) {\n children = nodes(ctx, ast.childNodes)\n }\n\n const result = fn(ctx, ast, children)\n\n if ('sourceCodeLocation' in ast && ast.sourceCodeLocation && ctx.file) {\n // @ts-expect-error It’s fine.\n const position = createLocation(ctx, result, ast.sourceCodeLocation)\n\n if (position) {\n ctx.location = true\n result.position = position\n }\n }\n\n ctx.schema = schema\n\n return result\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {Array.} children\n * @returns {Array.}\n */\nfunction nodes(ctx, children) {\n let index = -1\n /** @type {Array.} */\n const result = []\n\n while (++index < children.length) {\n // @ts-expect-error Assume no roots in children.\n result[index] = transform(ctx, children[index])\n }\n\n return result\n}\n\n/**\n * Transform a document.\n * Stores `ast.quirksMode` in `node.data.quirksMode`.\n *\n * @type {Handler}\n * @param {P5Document} ast\n * @param {Array.} children\n * @returns {Root}\n */\nfunction root(ctx, ast, children) {\n /** @type {Root} */\n const result = {\n type: 'root',\n children,\n data: {quirksMode: ast.mode === 'quirks' || ast.mode === 'limited-quirks'}\n }\n\n if (ctx.file && ctx.location) {\n const doc = String(ctx.file)\n const loc = location(doc)\n result.position = {\n start: loc.toPoint(0),\n end: loc.toPoint(doc.length)\n }\n }\n\n return result\n}\n\n/**\n * Transform a doctype.\n *\n * @type {Handler}\n * @returns {Doctype}\n */\nfunction doctype() {\n // @ts-expect-error Types are out of date.\n return {type: 'doctype'}\n}\n\n/**\n * Transform a text.\n *\n * @type {Handler}\n * @param {P5Text} ast\n * @returns {Text}\n */\nfunction text(_, ast) {\n return {type: 'text', value: ast.value}\n}\n\n/**\n * Transform a comment.\n *\n * @type {Handler}\n * @param {P5Comment} ast\n * @returns {Comment}\n */\nfunction comment(_, ast) {\n return {type: 'comment', value: ast.data}\n}\n\n/**\n * Transform an element.\n *\n * @type {Handler}\n * @param {P5Element} ast\n * @param {Array.} children\n * @returns {Element}\n */\nfunction element(ctx, ast, children) {\n const fn = ctx.schema.space === 'svg' ? s : h\n let index = -1\n /** @type {Object.} */\n const props = {}\n\n while (++index < ast.attrs.length) {\n const attribute = ast.attrs[index]\n props[(attribute.prefix ? attribute.prefix + ':' : '') + attribute.name] =\n attribute.value\n }\n\n const result = fn(ast.tagName, props, children)\n\n if (result.tagName === 'template' && 'content' in ast) {\n const pos = ast.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n /** @type {Root} */\n // @ts-expect-error Types are wrong.\n const content = transform(ctx, ast.content)\n\n if (startTag && endTag && ctx.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n return result\n}\n\n/**\n * Create clean positional information.\n *\n * @param {Context} ctx\n * @param {Node} node\n * @param {P5ElementLocation} location\n * @returns {Position|null}\n */\nfunction createLocation(ctx, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: .\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (ctx.verbose) {\n /** @type {Object.} */\n const props = {}\n /** @type {string} */\n let key\n\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(ctx.schema, key).property] = position(location.attrs[key])\n }\n }\n\n node.data = {\n position: {\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {P5Location} loc\n * @returns {Position|null}\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n // @ts-expect-error `null` is fine.\n return start || end ? {start, end} : null\n}\n\n/**\n * @param {Point} point\n * @returns {Point|null}\n */\nfunction point(point) {\n return point.line && point.column ? point : null\n}\n\n/**\n * @param {VFile|Options} value\n * @returns {value is VFile}\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {Pick} PositionalPoint\n * @typedef {Required} FullPoint\n * @typedef {NonNullable} Offset\n */\n\n/**\n * Get transform functions for the given `document`.\n *\n * @param {string|Uint8Array|VFile} file\n */\nexport function location(file) {\n var value = String(file)\n /** @type {Array.} */\n var indices = []\n var search = /\\r?\\n|\\r/g\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /**\n * Get the line and column-based `point` for `offset` in the bound indices.\n * Returns a point with `undefined` values when given invalid or out of bounds\n * input.\n *\n * @param {Offset} offset\n * @returns {FullPoint}\n */\n function toPoint(offset) {\n var index = -1\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /**\n * Get the `offset` for a line and column-based `point` in the bound indices.\n * Returns `-1` when given invalid or out of bounds input.\n *\n * @param {PositionalPoint} point\n * @returns {Offset}\n */\n function toOffset(point) {\n var line = point && point.line\n var column = point && point.column\n /** @type {number} */\n var offset\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n offset = (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return offset > -1 && offset < indices[indices.length - 1] ? offset : -1\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n *\n * @typedef {import('unist-util-is').AssertPredicate} AssertElement\n * @typedef {import('unist-util-is').AssertPredicate} AssertText\n * @typedef {import('unist-util-is').AssertPredicate} AssertRoot\n *\n * @callback CreateElementLike\n * @param {string} name\n * @param {any} attributes\n * @param {Array.} [children]\n * @returns {any}\n *\n * @typedef Context\n * @property {html|svg} schema\n * @property {string|null} prefix\n * @property {number} key\n * @property {boolean} react\n * @property {boolean} vue\n * @property {boolean} vdom\n * @property {boolean} hyperscript\n *\n * @typedef Options\n * @property {string|null} [prefix]\n * @property {'html'|'svg'} [space]\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\nimport {convert} from 'unist-util-is'\n\nconst ns = /** @type {Record} */ (webNamespaces)\nconst toReact = /** @type {Record} */ (hastToReact)\n\nconst own = {}.hasOwnProperty\n\n/** @type {AssertRoot} */\n// @ts-expect-error it’s correct.\nconst root = convert('root')\n/** @type {AssertElement} */\n// @ts-expect-error it’s correct.\nconst element = convert('element')\n/** @type {AssertText} */\n// @ts-expect-error it’s correct.\nconst text = convert('text')\n\n/**\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element|Root} tree\n * @param {string|boolean|Options} [options]\n * @returns {ReturnType}\n */\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (root(tree)) {\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && element(tree.children[0])\n ? tree.children[0]\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (element(tree)) {\n node = tree\n } else {\n throw new Error(\n // @ts-expect-error runtime.\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : null\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : null,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element} node\n * @param {Context} ctx\n */\nfunction transform(h, node, ctx) {\n const parentSchema = ctx.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record} */\n const attributes = {}\n /** @type {Array.|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n ctx.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], ctx, name)\n }\n }\n\n if (ctx.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = ns[schema.space]\n }\n }\n\n if (ctx.prefix) {\n ctx.key++\n attributes.key = ctx.prefix + ctx.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (element(value)) {\n nodes.push(transform(h, value, ctx))\n } else if (text(value)) {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n ctx.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * @param {Record} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n * @param {string} name\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, ctx, name) {\n const info = find(ctx.schema, prop)\n /** @type {string|undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (ctx.vue || ctx.vdom || ctx.hyperscript)) ||\n (!value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && ctx.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (ctx.react || ctx.vue || ctx.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n if (ctx.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (ctx.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && ctx.react) {\n props[toReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction react(h) {\n /** @type {unknown} */\n const node = h('div', {})\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vdom(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vue(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * @param {string} value\n * @param {string} tagName\n * @returns {Record}\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record} */\n const result = {}\n\n try {\n style(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */ (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error) {\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @param {string} key\n * Field to switch on.\n * @param {Options} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters): ReturnType, (...parameters: Parameters): ReturnType}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * @typedef {import('parse5').Node} P5Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').ParentNode} P5Parent\n * @typedef {Exclude} P5Child\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('property-information').Info} Info\n * @typedef {'html'|'svg'} Space\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {Parent['children'][number]} Child\n * @typedef {Child|Root} Node\n *\n * @callback Handle\n * @param {Node} node\n * @param {Schema} schema\n * @returns {P5Node}\n */\n\nimport {html, svg, find} from 'property-information'\nimport {toH} from 'hast-to-hyperscript'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nvar own = {}.hasOwnProperty\n\nvar one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a tree from hast to Parse5’s AST.\n *\n * @param {Node} tree\n * @param {Space} [space='html']\n * @returns {P5Node}\n */\nexport function toParse5(tree, space) {\n // @ts-ignore Types are wrong.\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Document}\n */\nfunction root(node, schema) {\n /** @type {P5Document} */\n var p5 = {\n nodeName: '#document',\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Fragment}\n */\nfunction fragment(node, schema) {\n /** @type {P5Fragment} */\n var p5 = {nodeName: '#document-fragment', childNodes: []}\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Doctype} node\n * @returns {P5Doctype}\n */\nfunction doctype(node) {\n return patch(node, {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Text} node\n * @returns {P5Text}\n */\nfunction text(node) {\n return patch(node, {\n nodeName: '#text',\n value: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Comment} node\n * @returns {P5Comment}\n */\nfunction comment(node) {\n return patch(node, {\n nodeName: '#comment',\n data: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Element} node\n * @returns {P5Element}\n */\nfunction element(node, schema) {\n /** @type {Space} */\n // @ts-ignore Assume space.\n var space = schema.space\n return toH(h, Object.assign({}, node, {children: []}), {space})\n\n /**\n * @param {string} name\n * @param {Object.} attrs\n */\n function h(name, attrs) {\n /** @type {Array.} */\n var values = []\n /** @type {Info} */\n var info\n /** @type {P5Attribute} */\n var value\n /** @type {string} */\n var key\n /** @type {number} */\n var index\n /** @type {P5Element} */\n var p5\n\n for (key in attrs) {\n if (!own.call(attrs, key) || attrs[key] === false) {\n continue\n }\n\n info = find(schema, key)\n\n if (info.boolean && !attrs[key]) {\n continue\n }\n\n value = {name: key, value: attrs[key] === true ? '' : String(attrs[key])}\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n index = key.indexOf(':')\n\n if (index < 0) {\n value.prefix = ''\n } else {\n value.name = key.slice(index + 1)\n value.prefix = key.slice(0, index)\n }\n\n value.namespace = webNamespaces[info.space]\n }\n\n values.push(value)\n }\n\n if (schema.space === 'html' && node.tagName === 'svg') schema = svg\n\n p5 = patch(node, {\n nodeName: name,\n tagName: name,\n attrs: values,\n namespaceURI: webNamespaces[schema.space],\n childNodes: [],\n parentNode: undefined\n })\n\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n\n // @ts-ignore Types are wrong.\n if (name === 'template') p5.content = fragment(node.content, schema)\n\n return p5\n }\n}\n\n/**\n * @param {Array.} children\n * @param {P5Parent} p5\n * @param {Schema} schema\n * @returns {Array.}\n */\nfunction all(children, p5, schema) {\n var index = -1\n /** @type {Array.} */\n var result = []\n /** @type {P5Child} */\n var child\n\n if (children) {\n while (++index < children.length) {\n // @ts-ignore Assume child.\n child = one(children[index], schema)\n\n // @ts-ignore types are wrong.\n child.parentNode = p5\n\n result.push(child)\n }\n }\n\n return result\n}\n\n/**\n * Patch specific properties.\n *\n * @template {P5Node} T\n * @param {Node} node\n * @param {T} p5\n * @returns {T}\n */\nfunction patch(node, p5) {\n var position = node.position\n\n if (position && position.start && position.end) {\n // @ts-ignore Types are wrong.\n p5.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n\n return p5\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'isindex',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'nextid',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {Omit} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {Omit & {startOffset: number|undefined, endOffset: number|undefined}} P5Location\n * @typedef {import('parse5').ParserOptions} P5ParserOptions\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {import('../complex-types').Raw} Raw\n *\n * @typedef {Omit & {value: {stitch: Node}}} Stitch\n *\n * @typedef Options\n * @property {Array} [passThrough]\n * List of custom hast node types to pass through (keep) in hast.\n * If the passed through nodes have children, those children are expected to\n * be hast and will be handled.\n *\n * @typedef HiddenTokenizer\n * @property {Array} __mixins\n * Way too simple, but works for us.\n * @property {HiddenPreprocessor} preprocessor\n * @property {(value: string) => void} write\n * @property {() => number} _consume\n * @property {Array} tokenQueue\n * @property {string} state\n * @property {string} returnState\n * @property {number} charRefCode\n * @property {Array} tempBuff\n * @property {Function} _flushCodePointsConsumedAsCharacterReference\n * @property {string} lastStartTagName\n * @property {number} consumedAfterSnapshot\n * @property {boolean} active\n * @property {HiddenToken|undefined} currentCharacterToken\n * @property {HiddenToken|undefined} currentToken\n * @property {unknown} currentAttr\n * @property {Function} NAMED_CHARACTER_REFERENCE_STATE\n * @property {Function} NUMERIC_CHARACTER_REFERENCE_END_STATE\n *\n * @typedef {Record & {location: P5Location}} HiddenToken\n *\n * @typedef HiddenPreprocessor\n * @property {string|undefined} html\n * @property {number} pos\n * @property {number} lastGapPos\n * @property {number} lastCharPos\n * @property {Array} gapStack\n * @property {boolean} skipNextNewLine\n * @property {boolean} lastChunkWritten\n * @property {boolean} endOfChunkHit\n *\n * @typedef HiddenLocationTracker\n * @property {P5Location|undefined} currentAttrLocation\n * @property {P5Location} ctLoc\n * @property {HiddenPosTracker} posTracker\n *\n * @typedef HiddenPosTracker\n * @property {boolean} isEol\n * @property {number} lineStartPos\n * @property {number} droppedBufferSize\n * @property {number} offset\n * @property {number} col\n * @property {number} line\n */\n\n// @ts-expect-error: untyped.\nimport Parser from 'parse5/lib/parser/index.js'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst inTemplateMode = 'IN_TEMPLATE_MODE'\nconst dataState = 'DATA_STATE'\nconst characterToken = 'CHARACTER_TOKEN'\nconst startTagToken = 'START_TAG_TOKEN'\nconst endTagToken = 'END_TAG_TOKEN'\nconst commentToken = 'COMMENT_TOKEN'\nconst doctypeToken = 'DOCTYPE_TOKEN'\n\n/** @type {P5ParserOptions} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Given a hast tree and an optional vfile (for positional info), return a new\n * parsed-again hast tree.\n *\n * @param tree\n * Original hast tree.\n * @param file\n * Virtual file for positional info, optional.\n * @param options\n * Configuration.\n */\nexport const raw =\n /**\n * @type {(\n * ((tree: Node, file: VFile|undefined, options?: Options) => Node) &\n * ((tree: Node, options?: Options) => Node)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {VFile} [file]\n * @param {Options} [options]\n */\n function (tree, file, options) {\n let index = -1\n const parser = new Parser(parseOptions)\n const one = zwitch('type', {\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n // @ts-expect-error: hush.\n unknown\n })\n /** @type {boolean|undefined} */\n let stitches\n /** @type {HiddenTokenizer|undefined} */\n let tokenizer\n /** @type {HiddenPreprocessor|undefined} */\n let preprocessor\n /** @type {HiddenPosTracker|undefined} */\n let posTracker\n /** @type {HiddenLocationTracker|undefined} */\n let locationTracker\n\n if (isOptions(file)) {\n options = file\n file = undefined\n }\n\n if (options && options.passThrough) {\n while (++index < options.passThrough.length) {\n // @ts-expect-error: hush.\n one.handlers[options.passThrough[index]] = stitch\n }\n }\n\n const result = fromParse5(\n documentMode(tree) ? document() : fragment(),\n file\n )\n\n if (stitches) {\n visit(result, 'comment', (node, index, parent) => {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent !== null && index !== null) {\n // @ts-expect-error: assume the stitch is allowed.\n parent.children[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n tree.type !== 'root' &&\n result.type === 'root' &&\n result.children.length === 1\n ) {\n return result.children[0]\n }\n\n return result\n\n /**\n * @returns {P5Fragment}\n */\n function fragment() {\n /** @type {P5Element} */\n const context = {\n nodeName: 'template',\n tagName: 'template',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Element} */\n const mock = {\n nodeName: 'documentmock',\n tagName: 'documentmock',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Fragment} */\n const doc = {nodeName: '#document-fragment', childNodes: []}\n\n parser._bootstrap(mock, context)\n parser._pushTmplInsertionMode(inTemplateMode)\n parser._initTokenizerForFragmentParsing()\n parser._insertFakeRootElement()\n parser._resetInsertionMode()\n parser._findFormInFragmentContext()\n\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n parser._adoptNodes(mock.childNodes[0], doc)\n\n return doc\n }\n\n /**\n * @returns {P5Document}\n */\n function document() {\n /** @type {P5Document} */\n const doc = parser.treeAdapter.createDocument()\n\n parser._bootstrap(doc, undefined)\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n return doc\n }\n\n /**\n * @param {Array} nodes\n * @returns {void}\n */\n function all(nodes) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n one(nodes[index])\n }\n }\n }\n\n /**\n * @param {Root} node\n * @returns {void}\n */\n function root(node) {\n all(node.children)\n }\n\n /**\n * @param {Element} node\n * @returns {void}\n */\n function element(node) {\n resetTokenizer()\n parser._processInputToken(startTag(node))\n\n all(node.children)\n\n if (!htmlVoidElements.includes(node.tagName)) {\n resetTokenizer()\n parser._processInputToken(endTag(node))\n }\n }\n\n /**\n * @param {Text} node\n * @returns {void}\n */\n function text(node) {\n resetTokenizer()\n parser._processInputToken({\n type: characterToken,\n chars: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Doctype} node\n * @returns {void}\n */\n function doctype(node) {\n resetTokenizer()\n parser._processInputToken({\n type: doctypeToken,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Comment|Stitch} node\n * @returns {void}\n */\n function comment(node) {\n resetTokenizer()\n parser._processInputToken({\n type: commentToken,\n data: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Raw} node\n * @returns {void}\n */\n function handleRaw(node) {\n const start = pointStart(node)\n const line = start.line || 1\n const column = start.column || 1\n const offset = start.offset || 0\n\n /* c8 ignore next 4 */\n if (!preprocessor) throw new Error('Expected `preprocessor`')\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n if (!locationTracker) throw new Error('Expected `locationTracker`')\n\n // Reset preprocessor:\n // See: .\n preprocessor.html = undefined\n preprocessor.pos = -1\n preprocessor.lastGapPos = -1\n preprocessor.lastCharPos = -1\n preprocessor.gapStack = []\n preprocessor.skipNextNewLine = false\n preprocessor.lastChunkWritten = false\n preprocessor.endOfChunkHit = false\n\n // Reset preprocessor mixin:\n // See: .\n posTracker.isEol = false\n posTracker.lineStartPos = -column + 1 // Looks weird, but ensures we get correct positional info.\n posTracker.droppedBufferSize = offset\n posTracker.offset = 0\n posTracker.col = 1\n posTracker.line = line\n\n // Reset location tracker:\n // See: .\n locationTracker.currentAttrLocation = undefined\n locationTracker.ctLoc = createParse5Location(node)\n\n // See the code for `parse` and `parseFragment`:\n // See: .\n tokenizer.write(node.value)\n parser._runParsingLoop(null)\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n if (\n tokenizer.state === 'NAMED_CHARACTER_REFERENCE_STATE' ||\n tokenizer.state === 'NUMERIC_CHARACTER_REFERENCE_END_STATE'\n ) {\n preprocessor.lastChunkWritten = true\n tokenizer[tokenizer.state](tokenizer._consume())\n }\n }\n\n /**\n * @param {Node} node\n */\n function stitch(node) {\n stitches = true\n\n /** @type {Node} */\n let clone\n\n // Recurse, because to somewhat handle `[]` (where `[]` denotes the\n // passed through node).\n if ('children' in node) {\n clone = {\n ...node,\n children: raw(\n {type: 'root', children: node.children},\n file,\n options\n // @ts-expect-error Assume a given parent yields a parent.\n ).children\n }\n } else {\n clone = {...node}\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}})\n }\n\n function resetTokenizer() {\n /* c8 ignore next 2 */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n\n // Process final characters if they’re still there after hibernating.\n // Similar to:\n // See: .\n const token = tokenizer.currentCharacterToken\n\n if (token) {\n token.location.endLine = posTracker.line\n token.location.endCol = posTracker.col + 1\n token.location.endOffset = posTracker.offset + 1\n parser._processInputToken(token)\n }\n\n // Reset tokenizer:\n // See: .\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n tokenizer.tokenQueue = []\n tokenizer.state = dataState\n tokenizer.returnState = ''\n tokenizer.charRefCode = -1\n tokenizer.tempBuff = []\n tokenizer.lastStartTagName = ''\n tokenizer.consumedAfterSnapshot = -1\n tokenizer.active = false\n tokenizer.currentCharacterToken = undefined\n tokenizer.currentToken = undefined\n tokenizer.currentAttr = undefined\n }\n }\n )\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction startTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: startTagToken,\n tagName: node.tagName,\n selfClosing: false,\n attrs: attributes(node),\n location\n }\n}\n\n/**\n * @param {Element} node\n * @returns {Array}\n */\nfunction attributes(node) {\n return toParse5({\n tagName: node.tagName,\n type: 'element',\n properties: node.properties,\n children: []\n // @ts-expect-error Assume element.\n }).attrs\n}\n\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction endTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: endTagToken,\n tagName: node.tagName,\n attrs: [],\n location\n }\n}\n\n/**\n * @param {Node} node\n */\nfunction unknown(node) {\n throw new Error('Cannot compile `' + node.type + '` node')\n}\n\n/**\n * @param {Node} node\n * @returns {boolean}\n */\nfunction documentMode(node) {\n const head = node.type === 'root' ? node.children[0] : node\n return Boolean(\n head &&\n (head.type === 'doctype' ||\n (head.type === 'element' && head.tagName === 'html'))\n )\n}\n\n/**\n * @param {Node|Stitch} node\n * @returns {P5Location}\n */\nfunction createParse5Location(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n return {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n }\n}\n\n/**\n * @param {VFile|Options|undefined} value\n * @return {value is Options}\n */\nfunction isOptions(value) {\n return Boolean(value && !('message' in value && 'messages' in value))\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-raw').Options} Options\n * @typedef {import('hast-util-raw')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {raw} from 'hast-util-raw'\n\n/**\n * Plugin to parse the tree again (and raw nodes).\n * Keeping positional info OK. 🙌\n *\n * @type {import('unified').Plugin<[Options?] | Array, Root>}\n */\nexport default function rehypeRaw(options = {}) {\n return (tree, file) => {\n // Assume that when a root was given, it’s also returned.\n const result = /** @type {Root} */ (raw(tree, file, options))\n return result\n }\n}\n","// This module is generated by `script/`.\n/* eslint-disable no-control-regex, no-misleading-character-class, no-useless-escape */\nexport const regex = /[\\0-\\x1F!-,\\.\\/:-@\\[-\\^`\\{-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u060F\\u061B-\\u061F\\u066A-\\u066D\\u06D4\\u06DD\\u06DE\\u06E9\\u06FD\\u06FE\\u0700-\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07F6-\\u07F9\\u07FB\\u07FC\\u07FE\\u07FF\\u082E-\\u083F\\u085C-\\u085F\\u086B-\\u089F\\u08B5\\u08C8-\\u08D2\\u08E2\\u0964\\u0965\\u0970\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09F2-\\u09FB\\u09FD\\u09FF\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF0-\\u0AF8\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B70\\u0B72-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BF0-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C7F\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D4F-\\u0D53\\u0D58-\\u0D5E\\u0D64\\u0D65\\u0D70-\\u0D79\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF4-\\u0E00\\u0E3B-\\u0E3F\\u0E4F\\u0E5A-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F17\\u0F1A-\\u0F1F\\u0F2A-\\u0F34\\u0F36\\u0F38\\u0F3A-\\u0F3D\\u0F48\\u0F6D-\\u0F70\\u0F85\\u0F98\\u0FBD-\\u0FC5\\u0FC7-\\u0FFF\\u104A-\\u104F\\u109E\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u1360-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16ED\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1735-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17D4-\\u17D6\\u17D8-\\u17DB\\u17DE\\u17DF\\u17EA-\\u180A\\u180E\\u180F\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u1945\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DA-\\u19FF\\u1A1C-\\u1A1F\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1AA6\\u1AA8-\\u1AAF\\u1AC1-\\u1AFF\\u1B4C-\\u1B4F\\u1B5A-\\u1B6A\\u1B74-\\u1B7F\\u1BF4-\\u1BFF\\u1C38-\\u1C3F\\u1C4A-\\u1C4C\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CCF\\u1CD3\\u1CFB-\\u1CFF\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u203E\\u2041-\\u2053\\u2055-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u20CF\\u20F1-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u215F\\u2189-\\u24B5\\u24EA-\\u2BFF\\u2C2F\\u2C5F\\u2CE5-\\u2CEA\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E00-\\u2E2E\\u2E30-\\u3004\\u3008-\\u3020\\u3030\\u3036\\u3037\\u303D-\\u3040\\u3097\\u3098\\u309B\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\u9FFD-\\u9FFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA62C-\\uA63F\\uA673\\uA67E\\uA6F2-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7C0\\uA7C1\\uA7CB-\\uA7F4\\uA828-\\uA82B\\uA82D-\\uA83F\\uA874-\\uA87F\\uA8C6-\\uA8CF\\uA8DA-\\uA8DF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA954-\\uA95F\\uA97D-\\uA97F\\uA9C1-\\uA9CE\\uA9DA-\\uA9DF\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A-\\uAA5F\\uAA77-\\uAA79\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAF0\\uAAF1\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABEB\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFDFF\\uFE10-\\uFE1F\\uFE30-\\uFE32\\uFE35-\\uFE4C\\uFE50-\\uFE6F\\uFE75\\uFEFD-\\uFF0F\\uFF1A-\\uFF20\\uFF3B-\\uFF3E\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDD3F\\uDD75-\\uDDFC\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEE1-\\uDEFF\\uDF20-\\uDF2C\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE36\\uDE37\\uDE3B-\\uDE3E\\uDE40-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE7-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD28-\\uDD2F\\uDD3A-\\uDE7F\\uDEAA\\uDEAD-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF51-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC47-\\uDC65\\uDC70-\\uDC7E\\uDCBB-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD40-\\uDD43\\uDD48-\\uDD4F\\uDD74\\uDD75\\uDD77-\\uDD7F\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE38-\\uDE3D\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC4B-\\uDC4F\\uDC5A-\\uDC5D\\uDC62-\\uDC7F\\uDCC6\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDC1-\\uDDD7\\uDDDE-\\uDDFF\\uDE41-\\uDE43\\uDE45-\\uDE4F\\uDE5A-\\uDE7F\\uDEB9-\\uDEBF\\uDECA-\\uDEFF\\uDF1B\\uDF1C\\uDF2C-\\uDF2F\\uDF3A-\\uDFFF]|\\uD806[\\uDC3B-\\uDC9F\\uDCEA-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD36\\uDD39\\uDD3A\\uDD44-\\uDD4F\\uDD5A-\\uDD9F\\uDDA8\\uDDA9\\uDDD8\\uDDD9\\uDDE2\\uDDE5-\\uDDFF\\uDE3F-\\uDE46\\uDE48-\\uDE4F\\uDE9A-\\uDE9C\\uDE9E-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC41-\\uDC4F\\uDC5A-\\uDC71\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDCFF\\uDD07\\uDD0A\\uDD37-\\uDD39\\uDD3B\\uDD3E\\uDD48-\\uDD4F\\uDD5A-\\uDD5F\\uDD66\\uDD69\\uDD8F\\uDD92\\uDD99-\\uDD9F\\uDDAA-\\uDEDF\\uDEF7-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83D\\uD83F\\uD87B-\\uD87D\\uD87F\\uD885-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDECF\\uDEEE\\uDEEF\\uDEF5-\\uDEFF\\uDF37-\\uDF3F\\uDF44-\\uDF4F\\uDF5A-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4E\\uDF88-\\uDF8E\\uDFA0-\\uDFDF\\uDFE2\\uDFE5-\\uDFEF\\uDFF2-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82C[\\uDD1F-\\uDD4F\\uDD53-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\uDC9C\\uDC9F-\\uDFFF]|\\uD834[\\uDC00-\\uDD64\\uDD6A-\\uDD6C\\uDD73-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDE41\\uDE45-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC\\uDFCD]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDCFF\\uDD2D-\\uDD2F\\uDD3E\\uDD3F\\uDD4A-\\uDD4D\\uDD4F-\\uDEBF\\uDEFA-\\uDFFF]|\\uD83A[\\uDCC5-\\uDCCF\\uDCD7-\\uDCFF\\uDD4C-\\uDD4F\\uDD5A-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDFFF]|\\uD83C[\\uDC00-\\uDD2F\\uDD4A-\\uDD4F\\uDD6A-\\uDD6F\\uDD8A-\\uDFFF]|\\uD83E[\\uDC00-\\uDFEF\\uDFFA-\\uDFFF]|\\uD869[\\uDEDE-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]/g\n","import { regex } from './regex.js'\n\nconst own = Object.hasOwnProperty\n\n/**\n * Slugger.\n */\nexport default class BananaSlug {\n /**\n * Create a new slug class.\n */\n constructor () {\n /** @type {Record} */\n // eslint-disable-next-line no-unused-expressions\n this.occurrences\n\n this.reset()\n }\n\n /**\n * Generate a unique slug.\n *\n * Tracks previously generated slugs: repeated calls with the same value\n * will result in different slugs.\n * Use the `slug` function to get same slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\n slug (value, maintainCase) {\n const self = this\n let result = slug(value, maintainCase === true)\n const originalSlug = result\n\n while (own.call(self.occurrences, result)) {\n self.occurrences[originalSlug]++\n result = originalSlug + '-' + self.occurrences[originalSlug]\n }\n\n self.occurrences[result] = 0\n\n return result\n }\n\n /**\n * Reset - Forget all previous slugs\n *\n * @return void\n */\n reset () {\n this.occurrences = Object.create(null)\n }\n}\n\n/**\n * Generate a slug.\n *\n * Does not track previously generated slugs: repeated calls with the same value\n * will result in the exact same slug.\n * Use the `GithubSlugger` class to get unique slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\nexport function slug (value, maintainCase) {\n if (typeof value !== 'string') return ''\n if (!maintainCase) value = value.toLowerCase()\n return value.replace(regex, '').replace(/ /g, '-')\n}\n","var own = {}.hasOwnProperty\n\n/**\n * Check if `node` has a set `name` property.\n *\n * @param {unknown} node\n * @param {string} name\n * @returns {boolean}\n */\nexport function hasProperty(node, name) {\n /** @type {unknown} */\n var value =\n name &&\n node &&\n typeof node === 'object' &&\n // @ts-ignore Looks like a node.\n node.type === 'element' &&\n // @ts-ignore Looks like an element.\n node.properties &&\n // @ts-ignore Looks like an element.\n own.call(node.properties, name) &&\n // @ts-ignore Looks like an element.\n node.properties[name]\n\n return value !== null && value !== undefined && value !== false\n}\n","/**\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Root} Root\n * @typedef {Root|Parent['children'][number]} Node\n */\n\n/**\n * Rank of a heading: H1 -> 1, H2 -> 2, etc.\n *\n * @param {Node} node\n * @returns {number|null}\n */\nexport function headingRank(node) {\n var name =\n (node && node.type === 'element' && node.tagName.toLowerCase()) || ''\n var code =\n name.length === 2 && name.charCodeAt(0) === 104 /* `h` */\n ? name.charCodeAt(1)\n : 0\n return code > 48 /* `0` */ && code < 55 /* `7` */ ? code - 48 /* `0` */ : null\n}\n","/**\n * @fileoverview\n * Get the plain-text value of a hast node.\n * @longdescription\n * ## Use\n *\n * ```js\n * import {h} from 'hastscript'\n * import {toString} from 'hast-util-to-string'\n *\n * toString(h('p', 'Alpha'))\n * //=> 'Alpha'\n * toString(h('div', [h('b', 'Bold'), ' and ', h('i', 'italic'), '.']))\n * //=> 'Bold and italic.'\n * ```\n *\n * ## API\n *\n * ### `toString(node)`\n *\n * Transform a node to a string.\n */\n\n/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {Root|Root['children'][number]} Node\n */\n\n/**\n * Get the plain-text value of a hast node.\n *\n * @param {Node} node\n * @returns {string}\n */\nexport function toString(node) {\n // “The concatenation of data of all the Text node descendants of the context\n // object, in tree order.”\n if ('children' in node) {\n return all(node)\n }\n\n // “Context object’s data.”\n return 'value' in node ? node.value : ''\n}\n\n/**\n * @param {Node} node\n * @returns {string}\n */\nfunction one(node) {\n if (node.type === 'text') {\n return node.value\n }\n\n return 'children' in node ? all(node) : ''\n}\n\n/**\n * @param {Root|Element} node\n * @returns {string}\n */\nfunction all(node) {\n let index = -1\n /** @type {string[]} */\n const result = []\n\n while (++index < node.children.length) {\n result[index] = one(node.children[index])\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef Options\n * Configuration (optional).\n * @property {string} [prefix='']\n * Prefix to add in front of `id`s.\n */\n\nimport Slugger from 'github-slugger'\nimport {hasProperty} from 'hast-util-has-property'\nimport {headingRank} from 'hast-util-heading-rank'\nimport {toString} from 'hast-util-to-string'\nimport {visit} from 'unist-util-visit'\n\nconst slugs = new Slugger()\n\n/**\n * Plugin to add `id`s to headings.\n *\n * @type {import('unified').Plugin<[Options?]|Array, Root>}\n */\nexport default function rehypeSlug(options = {}) {\n const prefix = options.prefix || ''\n\n return (tree) => {\n slugs.reset()\n\n visit(tree, 'element', (node) => {\n if (headingRank(node) && node.properties && !hasProperty(node, 'id')) {\n node.properties.id = prefix + slugs.slug(toString(node))\n }\n })\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('hast').Element} Element\n *\n * @typedef {string} TagName\n * @typedef {null|undefined|TagName|TestFunctionAnything|Array.} Test\n */\n\n/**\n * @template {Element} T\n * @typedef {null|undefined|T['tagName']|TestFunctionPredicate|Array.>} PredicateTest\n */\n\n/**\n * Check if an element passes a test\n *\n * @callback TestFunctionAnything\n * @param {Element} element\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean|void}\n */\n\n/**\n * Check if an element passes a certain node test\n *\n * @template {Element} X\n * @callback TestFunctionPredicate\n * @param {Element} element\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {element is X}\n */\n\n/**\n * Check if a node is an element and passes a certain node test\n *\n * @callback AssertAnything\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean}\n */\n\n/**\n * Check if a node is an element and passes a certain node test\n *\n * @template {Element} Y\n * @callback AssertPredicate\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is Y}\n */\n\n// Check if `node` is an `element` and whether it passes the given test.\nexport const isElement =\n /**\n * Check if a node is an element and passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @type {(\n * (() => false) &\n * ((node: unknown, test?: PredicateTest, index?: number, parent?: Parent, context?: unknown) => node is T) &\n * ((node: unknown, test: Test, index?: number, parent?: Parent, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @param {unknown} [node] Node to check\n * @param {Test} [test] When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `array`, checks any one of the subtests pass.\n * @param {number} [index] Position of `node` in `parent`\n * @param {Parent} [parent] Parent of `node`\n * @param {unknown} [context] Context object to invoke `test` with\n * @returns {boolean} Whether test passed and `node` is an `Element` (object with `type` set to `element` and `tagName` set to a non-empty string).\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index for child node')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n // @ts-expect-error Looks like a node.\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return check.call(context, node, index, parent)\n }\n )\n\nexport const convertElement =\n /**\n * @type {(\n * ((test: T['tagName']|TestFunctionPredicate) => AssertPredicate) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * Generate an assertion from a check.\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as test')\n }\n )\n\n/**\n * @param {Array.} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array.} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {unknown[]} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s tag\n * name for said string.\n *\n * @param {TagName} check\n * @returns {AssertAnything}\n */\nfunction tagNameFactory(check) {\n return tagName\n\n /**\n * @param {unknown} node\n * @returns {boolean}\n */\n function tagName(node) {\n return element(node) && node.tagName === check\n }\n}\n\n/**\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array.} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n // @ts-expect-error: fine.\n return element(node) && Boolean(check.call(this, node, ...parameters))\n }\n}\n\n/**\n * Utility to return true if this is an element.\n * @param {unknown} node\n * @returns {node is Element}\n */\nfunction element(node) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n // @ts-expect-error Looks like a node.\n node.type === 'element' &&\n // @ts-expect-error Looks like an element.\n typeof node.tagName === 'string'\n )\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast-util-is-element').Test} Test\n *\n * @typedef {'prepend'|'append'|'wrap'|'before'|'after'} Behavior\n *\n * @callback Build\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n *\n * @typedef Options\n * Configuration.\n * @property {Behavior} [behavior='prepend']\n * How to create links.\n * @property {Behavior} [behaviour]\n * Please use `behavior` instead\n * @property {Properties} [properties]\n * Extra properties to set on the link when injecting.\n * Defaults to `{ariaHidden: true, tabIndex: -1}` when `'prepend'` or\n * `'append'`.\n * @property {ElementChild|ElementChild[]|Build} [content={type: 'element', tagName: 'span', properties: {className: ['icon', 'icon-link']}, children: []}]\n * hast nodes to insert in the link.\n * @property {ElementChild|ElementChild[]|Build} [group]\n * hast node to wrap the heading and link with, if `behavior` is `'before'` or\n * `'after'`.\n * There is no default.\n * @property {Test} [test]\n * Test to define which heading elements are linked.\n * Any test that can be given to `hast-util-is-element` is supported.\n * The default (no test) is to link all headings.\n * Can be used to link only h1-h3, or for example all except h1.\n */\n\nimport extend from 'extend'\nimport {hasProperty} from 'hast-util-has-property'\nimport {headingRank} from 'hast-util-heading-rank'\nimport {convertElement} from 'hast-util-is-element'\nimport {visit, SKIP} from 'unist-util-visit'\n\n/** @type {Element} */\nconst contentDefaults = {\n type: 'element',\n tagName: 'span',\n properties: {className: ['icon', 'icon-link']},\n children: []\n}\n\n/**\n * Plugin to automatically add links to headings (h1-h6).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function rehypeAutolinkHeadings(options = {}) {\n let props = options.properties\n const behavior = options.behaviour || options.behavior || 'prepend'\n const content = options.content || contentDefaults\n const group = options.group\n const is = convertElement(options.test)\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n let method\n\n if (behavior === 'wrap') {\n method = wrap\n } else if (behavior === 'before' || behavior === 'after') {\n method = around\n } else {\n if (!props) {\n props = {ariaHidden: 'true', tabIndex: -1}\n }\n\n method = inject\n }\n\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (\n headingRank(node) &&\n hasProperty(node, 'id') &&\n is(node, index, parent)\n ) {\n return method(node, index, parent)\n }\n })\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function inject(node) {\n node.children[behavior === 'prepend' ? 'unshift' : 'push'](\n create(node, extend(true, {}, props), toChildren(content, node))\n )\n\n return [SKIP]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function around(node, index, parent) {\n // Uncommon.\n /* c8 ignore next */\n if (typeof index !== 'number' || !parent) return\n\n const link = create(\n node,\n extend(true, {}, props),\n toChildren(content, node)\n )\n let nodes = behavior === 'before' ? [link, node] : [node, link]\n\n if (group) {\n const grouping = toNode(group, node)\n\n if (grouping && !Array.isArray(grouping) && grouping.type === 'element') {\n grouping.children = nodes\n nodes = [grouping]\n }\n }\n\n parent.children.splice(index, 1, ...nodes)\n\n return [SKIP, index + nodes.length]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function wrap(node) {\n node.children = [create(node, extend(true, {}, props), node.children)]\n return [SKIP]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild[]}\n */\n function toChildren(value, node) {\n const result = toNode(value, node)\n return Array.isArray(result) ? result : [result]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n */\n function toNode(value, node) {\n if (typeof value === 'function') return value(node)\n return extend(true, Array.isArray(value) ? [] : {}, value)\n }\n\n /**\n * @param {Element} node\n * @param {Properties} props\n * @param {ElementChild[]} children\n * @returns {Element}\n */\n function create(node, props, children) {\n return {\n type: 'element',\n tagName: 'a',\n properties: Object.assign({}, props, {\n // Fix hast types and make them required.\n /* c8 ignore next */\n href: '#' + (node.properties || {}).id\n }),\n children\n }\n }\n}\n","import { Element, Comment, Literal, ElementContent, RootContent, Properties } from 'hast';\nimport { RehypeAttrsOptions } from './';\n\nexport const getURLParameters = (url: string): Record =>\n(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(\n (a: Record, v: string) => (\n (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a\n ),\n {},\n);\n\nexport const prevChild = (data: Literal[] = [], index: number): Comment | undefined => {\n let i = index;\n while (i > -1) {\n i--;\n if (!data[i]) return\n if ((data[i] && data[i].value && (data[i].value as string).replace(/(\\n|\\s)/g, '') !== '') || data[i].type !== 'text') {\n if (!/^rehype:/.test(data[i].value as string) || (data[i].type as string) !== 'comment') return;\n return data[i] as unknown as Comment;\n }\n }\n return;\n}\n\nexport const nextChild = (data: RootContent[] | ElementContent[] = [], index: number, tagName?: string, codeBlockParames?: boolean): ElementContent | undefined => {\n let i = index;\n while (i < data.length) {\n i++;\n if (tagName) {\n const element = data[i] as Literal & Element;\n if (element && element.value && (element.value as string).replace(/(\\n|\\s)/g, '') !== '' || data[i] && (data[i].type as string) === 'element') {\n return element.tagName === tagName ? element : undefined\n }\n } else {\n const element = data[i] as ElementContent & Literal;\n if (!element || element.type === 'element') return;\n if (element.type === 'text' && element.value.replace(/(\\n|\\s)/g, '') !== '') return;\n if (/^(comment|raw)$/ig.test(element?.type)) {\n if (!/^rehype:/.test(element.value?.replace(/^(\\s+)?/, '$2') || '')) {\n return\n };\n if (codeBlockParames) {\n const nextNode = nextChild(data, i, 'pre', codeBlockParames)\n if (nextNode) return;\n element.value = element.value?.replace(/^(\\n|\\s)+/, '')\n return element;\n } else {\n element.value = element.value?.replace(/^(\\n|\\s)+/, '')\n return element;\n }\n }\n }\n }\n return\n}\n\n/**\n * 获取代码注视的位置\n * @param data 数据\n * @param index 当前数据所在的位置\n * @returns 返回 当前参数数据 Object,`{}`\n */\nexport const getCommentObject = ({ value = '' }: Comment): Properties => {\n const param = getURLParameters(value.replace(/^/, '$1').replace(/^rehype:/, ''));\n Object.keys(param).forEach((keyName: string) => {\n if (param[keyName] === 'true') {\n param[keyName] = true;\n }\n if (param[keyName] === 'false') {\n param[keyName] = false;\n }\n if (typeof param[keyName] === 'string' && !/^0/.test(param[keyName] as string) && !isNaN(+param[keyName])) {\n param[keyName] = +param[keyName];\n }\n })\n return param;\n}\n\nexport type DataConfig = {\n 'data-config': Properties\n}\n\nexport const propertiesHandle = (defaultAttrs?: Properties | null, attrs?: Properties, type?: RehypeAttrsOptions['properties']): Properties | DataConfig => {\n if (type === 'string') {\n return { ...defaultAttrs, 'data-config': JSON.stringify({ ...attrs, rehyp: true })}\n } else if (type === 'attr') {\n return { ...defaultAttrs, ...attrs}\n }\n return { ...defaultAttrs, 'data-config': { ...attrs, rehyp: true }}\n}","import { Plugin } from 'unified';\nimport { Root, Element, Comment, Properties, Literal } from 'hast';\nimport { visit } from 'unist-util-visit';\nimport { propertiesHandle, nextChild, prevChild, getCommentObject } from './utils';\n\nexport type RehypeAttrsOptions = {\n /**\n * ## `data`\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * \n * ## `string`\n * \n * ```markdown\n * text\n * \n * ```\n * \n * 👇👇👇👇👇\n * \n * ```html\n *

text

\n * ```\n * \n * ## attr\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * @default `data`\n */\n properties?: 'data' | 'string' | 'attr';\n /**\n * Code block passing parameters\n */\n codeBlockParames?: boolean;\n}\n\nconst rehypeAttrs: Plugin<[RehypeAttrsOptions?], Root> = (options = {}) => {\n const { properties = 'data', codeBlockParames = true } = options;\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (codeBlockParames && node.tagName === 'pre' && node && Array.isArray(node.children) && parent && Array.isArray(parent.children) && parent.children.length > 1) {\n const firstChild = node.children[0] as Element;\n if (firstChild && firstChild.tagName === 'code' && typeof index === 'number') {\n const child = prevChild(parent.children as Literal[], index);\n if (child) {\n const attr = getCommentObject(child);\n if (Object.keys(attr).length > 0) {\n node.properties = { ...node.properties, ...{ 'data-type': 'rehyp' } }\n firstChild.properties = propertiesHandle(firstChild.properties, attr, properties) as Properties\n }\n }\n }\n }\n\n if (/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(node.tagName) && parent && Array.isArray(parent.children) && typeof index === 'number') {\n const child = nextChild(parent.children, index, '', codeBlockParames)\n if (child) {\n const attr = getCommentObject(child as Comment)\n if (Object.keys(attr).length > 0) {\n node.properties = propertiesHandle(node.properties, attr, properties) as Properties\n }\n }\n }\n });\n }\n}\n\n\nexport default rehypeAttrs\n","import { Plugin } from 'unified';\nimport { Root, RootContent } from 'hast';\nimport { visit } from 'unist-util-visit';\n\nexport type RehypeIgnoreOptions = {\n /**\n * Character to use for opening delimiter, by default `rehype:ignore:start`\n */\n openDelimiter?: string;\n /**\n * Character to use for closing delimiter, by default `rehype:ignore:end`\n */\n closeDelimiter?: string;\n}\n\nconst rehypeIgnore: Plugin<[RehypeIgnoreOptions?], Root> = (options = {}) => {\n const { openDelimiter = 'rehype:ignore:start', closeDelimiter = 'rehype:ignore:end' } = options;\n return (tree) => {\n visit(tree, (node: Root | RootContent, index, parent) => {\n if (node.type === 'element' || node.type === 'root') {\n // const start = node.children.findIndex((item) => item.type === 'comment' && item.value === openDelimiter);\n // const end = node.children.findIndex((item) => item.type === 'comment' && item.value === closeDelimiter);\n // if (start > -1 && end > -1) {\n // node.children = node.children.filter((_, idx) => idx < start || idx > end);\n // }\n let start = false;\n node.children = node.children.filter((item) => {\n if (item.type === 'raw' || item.type === 'comment') {\n let str = item.value?.trim();\n str = str.replace(/^/, '$1')\n if (str === openDelimiter) {\n start = true;\n return false;\n }\n if (str === closeDelimiter) {\n start = false;\n return false;\n }\n }\n \n return !start;\n })\n }\n });\n }\n}\n\nexport default rehypeIgnore;\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * Options for unist util filter\n *\n * @typedef {Object} FilterOptions\n * @property {boolean} [cascade=true] Whether to drop parent nodes if they had children, but all their children were filtered out.\n */\n\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create a new tree consisting of copies of all nodes that pass test.\n * The tree is walked in preorder (NLR), visiting the node itself, then its head, etc.\n *\n * @param tree Tree to filter.\n * @param options Configuration (optional).\n * @param test is-compatible test (such as a type).\n * @returns Given `tree` or `null` if it didn’t pass `test`.\n */\nexport const filter =\n /**\n * @type {(\n * ((node: Tree, options: FilterOptions, test: Check) => import('./complex-types').Matches) &\n * ((node: Tree, test: Check) => import('./complex-types').Matches) &\n * ((node: Tree, options?: FilterOptions) => Tree)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {FilterOptions} options\n * @param {Test} test\n * @returns {Node|null}\n */\n function (tree, options, test) {\n const is = convert(test || options)\n const cascade =\n options.cascade === undefined || options.cascade === null\n ? true\n : options.cascade\n\n return preorder(tree)\n\n /**\n * @param {Node} node\n * @param {number|undefined} [index]\n * @param {Parent|undefined} [parent]\n * @returns {Node|null}\n */\n function preorder(node, index, parent) {\n /** @type {Array.} */\n const children = []\n /** @type {number} */\n let childIndex\n /** @type {Node} */\n let result\n /** @type {string} */\n let key\n\n if (!is(node, index, parent)) return null\n\n // @ts-expect-error: Looks like a parent.\n if (node.children) {\n childIndex = -1\n\n // @ts-expect-error Looks like a parent.\n while (++childIndex < node.children.length) {\n // @ts-expect-error Looks like a parent.\n result = preorder(node.children[childIndex], childIndex, node)\n\n if (result) {\n children.push(result)\n }\n }\n\n // @ts-expect-error Looks like a parent.\n if (cascade && node.children.length > 0 && children.length === 0)\n return null\n }\n\n // Create a shallow clone, using the new children.\n /** @type {typeof node} */\n // @ts-expect-error all the fields will be copied over.\n const next = {}\n\n for (key in node) {\n if (own.call(node, key)) {\n // @ts-expect-error: Looks like a record.\n next[key] = key === 'children' ? children : node[key]\n }\n }\n\n return next\n }\n }\n )\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef Options options\n * Configuration.\n * @property {boolean} [showLineNumbers]\n * Set `showLineNumbers` to `true` to always display line number\n * @property {boolean} [ignoreMissing]\n * Set `ignoreMissing` to `true` to ignore unsupported languages and line highlighting when no language is specified\n */\n\nimport { visit } from 'unist-util-visit'\nimport { toString } from 'hast-util-to-string'\nimport { filter } from 'unist-util-filter'\nimport rangeParser from 'parse-numeric-range'\n\n/**\n * @param {Element} node\n * @return {string|null}\n */\nconst getLanguage = (node) => {\n const className = node.properties.className\n //@ts-ignore\n for (const classListItem of className) {\n if (classListItem.slice(0, 9) === 'language-') {\n return classListItem.slice(9).toLowerCase()\n }\n }\n return null\n}\n\n/**\n * Create a closure that determines if we have to highlight the given index\n *\n * @param {string} meta\n * @return { (index:number) => boolean }\n */\nconst calculateLinesToHighlight = (meta) => {\n const RE = /{([\\d,-]+)}/\n // Remove space between {} e.g. {1, 3}\n const parsedMeta = meta\n .split(',')\n .map((str) => str.trim())\n .join()\n if (RE.test(parsedMeta)) {\n const strlineNumbers = RE.exec(parsedMeta)[1]\n const lineNumbers = rangeParser(strlineNumbers)\n return (index) => lineNumbers.includes(index + 1)\n } else {\n return () => false\n }\n}\n\n/**\n * Check if we want to start the line numbering from a given number or 1\n * showLineNumbers=5, will start the numbering from 5\n * @param {string} meta\n * @returns {number}\n */\nconst calculateStartingLine = (meta) => {\n const RE = /showLineNumbers=(?\\d+)/i\n // pick the line number after = using a named capturing group\n if (RE.test(meta)) {\n const {\n groups: { lines },\n } = RE.exec(meta)\n return Number(lines)\n }\n return 1\n}\n\n/**\n * Create container AST for node lines\n *\n * @param {number} number\n * @return {Element[]}\n */\nconst createLineNodes = (number) => {\n const a = new Array(number)\n for (let i = 0; i < number; i++) {\n a[i] = {\n type: 'element',\n tagName: 'span',\n properties: { className: [] },\n children: [],\n }\n }\n return a\n}\n\n/**\n * Split multiline text nodes into individual nodes with positioning\n * Add a node start and end line position information for each text node\n *\n * @return { (ast:Element['children']) => Element['children'] }\n *\n */\nconst addNodePositionClosure = () => {\n let startLineNum = 1\n /**\n * @param {Element['children']} ast\n * @return {Element['children']}\n */\n const addNodePosition = (ast) => {\n return ast.reduce((result, node) => {\n if (node.type === 'text') {\n const value = /** @type {string} */ (node.value)\n const numLines = (value.match(/\\n/g) || '').length\n if (numLines === 0) {\n node.position = {\n // column: 1 is needed to avoid error with @next/mdx\n // https://github.com/timlrx/rehype-prism-plus/issues/44\n start: { line: startLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n result.push(node)\n } else {\n const lines = value.split('\\n')\n for (const [i, line] of lines.entries()) {\n result.push({\n type: 'text',\n value: i === lines.length - 1 ? line : line + '\\n',\n position: {\n start: { line: startLineNum + i, column: 1 },\n end: { line: startLineNum + i, column: 1 },\n },\n })\n }\n }\n startLineNum = startLineNum + numLines\n\n return result\n }\n\n if (Object.prototype.hasOwnProperty.call(node, 'children')) {\n const initialLineNum = startLineNum\n // @ts-ignore\n node.children = addNodePosition(node.children, startLineNum)\n result.push(node)\n node.position = {\n start: { line: initialLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n return result\n }\n\n result.push(node)\n return result\n }, [])\n }\n return addNodePosition\n}\n\n/**\n * Rehype prism plugin generator that highlights code blocks with refractor (prismjs)\n *\n * Pass in your own refractor object with the required languages registered:\n * https://github.com/wooorm/refractor#refractorregistersyntax\n *\n * @param {import('refractor/lib/core').Refractor} refractor\n * @return {import('unified').Plugin<[Options?], Root>}\n */\nconst rehypePrismGenerator = (refractor) => {\n return (options = {}) => {\n return (tree) => {\n visit(tree, 'element', visitor)\n }\n\n /**\n * @param {Element} node\n * @param {number} index\n * @param {Element} parent\n */\n function visitor(node, index, parent) {\n if (!parent || parent.tagName !== 'pre' || node.tagName !== 'code') {\n return\n }\n\n let meta = node.data && node.data.meta ? /** @type {string} */ (node.data.meta) : ''\n // Coerce className to array\n if (node.properties.className) {\n if (typeof node.properties.className === 'boolean') {\n node.properties.className = []\n } else if (!Array.isArray(node.properties.className)) {\n node.properties.className = [node.properties.className]\n }\n } else {\n node.properties.className = []\n }\n node.properties.className.push('code-highlight')\n const lang = getLanguage(node)\n\n /** @type {Element} */\n let refractorRoot\n\n // Syntax highlight\n if (lang) {\n try {\n let rootLang\n if (lang?.includes('diff-')){\n rootLang=lang.split('-')[1]\n } else{\n rootLang=lang\n }\n // @ts-ignore\n refractorRoot = refractor.highlight(toString(node), rootLang)\n // @ts-ignore className is already an array\n parent.properties.className = (parent.properties.className || []).concat(\n 'language-' + rootLang\n )\n } catch (err) {\n if (options.ignoreMissing && /Unknown language/.test(err.message)) {\n refractorRoot = node\n } else {\n throw err\n }\n }\n } else {\n refractorRoot = node\n }\n\n refractorRoot.children = addNodePositionClosure()(refractorRoot.children)\n\n // Add position info to root\n if (refractorRoot.children.length > 0) {\n refractorRoot.position = {\n start: { line: refractorRoot.children[0].position.start.line, column: 0 },\n end: {\n line: refractorRoot.children[refractorRoot.children.length - 1].position.end.line,\n column: 0,\n },\n }\n } else {\n refractorRoot.position = {\n start: { line: 0, column: 0 },\n end: { line: 0, column: 0 },\n }\n }\n\n const shouldHighlightLine = calculateLinesToHighlight(meta)\n const startingLineNumber = calculateStartingLine(meta)\n const codeLineArray = createLineNodes(refractorRoot.position.end.line)\n\n const falseShowLineNumbersStr = [\n 'showlinenumbers=false',\n 'showlinenumbers=\"false\"',\n 'showlinenumbers={false}',\n ]\n for (const [i, line] of codeLineArray.entries()) {\n // Default class name for each line\n line.properties.className = ['code-line']\n\n // Syntax highlight\n const treeExtract = filter(\n refractorRoot,\n (node) => node.position.start.line <= i + 1 && node.position.end.line >= i + 1\n )\n line.children = treeExtract.children\n\n // Line number\n if (\n (meta.toLowerCase().includes('showLineNumbers'.toLowerCase()) ||\n options.showLineNumbers) &&\n !falseShowLineNumbersStr.some((str) => meta.toLowerCase().includes(str))\n ) {\n line.properties.line = [(i + startingLineNumber).toString()]\n line.properties.className.push('line-number')\n }\n\n // Line highlight\n if (shouldHighlightLine(i)) {\n line.properties.className.push('highlight-line')\n }\n\n // Diff classes\n if ((lang === 'diff' || lang?.includes('diff-')) && toString(line).substring(0, 1) === '-') {\n line.properties.className.push('deleted')\n } else if ((lang === 'diff' || lang?.includes('diff-')) && toString(line).substring(0, 1) === '+') {\n line.properties.className.push('inserted')\n }\n }\n\n // Remove possible trailing line when splitting by \\n which results in empty array\n if (\n codeLineArray.length > 0 &&\n toString(codeLineArray[codeLineArray.length - 1]).trim() === ''\n ) {\n codeLineArray.pop()\n }\n\n node.children = codeLineArray\n }\n }\n}\n\nexport default rehypePrismGenerator\n","import { refractor as refractorAll } from 'refractor/lib/all.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * This supports all the languages and should be used on the server side.\n *\n * Consider using rehypePrismCommon or rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismAll = rehypePrismGenerator(refractorAll)\n\nexport default rehypePrismAll\n","import { refractor as refractorCommon } from 'refractor/lib/common.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * Supported languages: https://github.com/wooorm/refractor#data\n *\n * Consider using rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismCommon = rehypePrismGenerator(refractorCommon)\n\nexport default rehypePrismCommon\n","const rtlRange = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nconst ltrRange =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\n/* eslint-disable no-misleading-character-class */\nconst rtl = new RegExp('^[^' + ltrRange + ']*[' + rtlRange + ']')\nconst ltr = new RegExp('^[^' + rtlRange + ']*[' + ltrRange + ']')\n/* eslint-enable no-misleading-character-class */\n\n/**\n * Detect the direction of text: left-to-right, right-to-left, or neutral\n *\n * @param {string} value\n * @returns {'rtl'|'ltr'|'neutral'}\n */\nexport function direction(value) {\n const source = String(value || '')\n return rtl.test(source) ? 'rtl' : ltr.test(source) ? 'ltr' : 'neutral'\n}\n","/**\n * @typedef {import('./types.js').Node} Node\n * @typedef {import('./types.js').Element} Element\n * @typedef {import('./types.js').Parent} Parent\n * @typedef {import('hast-util-is-element').AssertPredicate} IsElement\n */\n\nimport {convertElement} from 'hast-util-is-element'\n\n/**\n * @param {Node} node\n * @returns {node is Parent}\n */\nexport function parent(node) {\n // @ts-expect-error: hush.\n return Array.isArray(node.children)\n}\n\n/** @type {IsElement} */\n// @ts-expect-error it works.\nexport const element = convertElement()\n","/**\n * @typedef {import('./types.js').SelectState} SelectState\n * @typedef {import('./types.js').HastNode} HastNode\n * @typedef {import('./types.js').ElementChild} ElementChild\n * @typedef {import('./types.js').Direction} Direction\n * @typedef {import('unist-util-visit/complex-types').Visitor} Visitor\n */\n\nimport {direction} from 'direction'\nimport {isElement} from 'hast-util-is-element'\nimport {toString} from 'hast-util-to-string'\nimport {svg} from 'property-information'\nimport {visit, EXIT, SKIP} from 'unist-util-visit'\nimport {element} from './util.js'\n\n/**\n * @param {SelectState} state\n * @param {HastNode} node\n * @returns {() => void}\n */\n// eslint-disable-next-line complexity\nexport function enterState(state, node) {\n const schema = state.schema\n const language = state.language\n const currentDirection = state.direction\n const editableOrEditingHost = state.editableOrEditingHost\n /** @type {Direction|undefined} */\n let dirInferred\n /** @type {boolean|undefined} */\n let found\n\n if (element(node) && node.properties) {\n const lang = node.properties.xmlLang || node.properties.lang\n const type = node.properties.type || 'text'\n const dir = dirProperty(node)\n\n if (lang !== undefined && lang !== null) {\n state.language = String(lang)\n found = true\n }\n\n if (schema && schema.space === 'html') {\n if (node.properties.contentEditable === 'true') {\n state.editableOrEditingHost = true\n found = true\n }\n\n if (isElement(node, 'svg')) {\n state.schema = svg\n found = true\n }\n\n // See: .\n // Explicit `[dir=rtl]`.\n if (dir === 'rtl') {\n dirInferred = dir\n } else if (\n // Explicit `[dir=ltr]`.\n dir === 'ltr' ||\n // HTML with an invalid or no `[dir]`.\n (dir !== 'auto' && isElement(node, 'html')) ||\n // `input[type=tel]` with an invalid or no `[dir]`.\n (dir !== 'auto' && isElement(node, 'input') && type === 'tel')\n ) {\n dirInferred = 'ltr'\n // `[dir=auto]` or `bdi` with an invalid or no `[dir]`.\n } else if (dir === 'auto' || isElement(node, 'bdi')) {\n if (isElement(node, 'textarea')) {\n // Check contents of `